首页 > 解决方案 > 像这样使用 EmptyWorkingSet 是否安全?

问题描述

我一直在开发一个发送击键来模仿用户操作的应用程序。为此,我想记录我的击键。我在互联网上四处寻找如何完成这样的任务,我发现了一个名为 Key Catcher 的程序。因为我担心我的设备上会出现恶意键盘记录器,所以我首先阅读了源代码,我发现了这一行:

   return, dllcall("psapi.dll\EmptyWorkingSet", "UInt", -1)

我不知道这个命令是什么,谷歌搜索给了互联网论坛警告不要自己使用 EmptWorkingSet,但也有使用这个没有问题的特定程序的例子。谁能解释这应该如何使用?或者如果这会带来问题?或者有人可以提供更好的选择吗?

PS:如果有帮助,则每次进程完成时都会使用此命令

标签: cautohotkeykeylogger

解决方案


“EmptyWorkingSet”操作从内存中删除尽可能多的应用程序页面。那些认为拥有大量可用 RAM 就很好的人经常错误地使用它。

一般不会造成太大伤害。如果需要,这些页面可以相当快地加载回 RAM。但它唯一的好处是使空闲内存页的数量增加,这实际上是有点有害的。

它基本上既不在这里也不在那里。从对性能至关重要的进程调用它是非常糟糕的,因为它会减慢进程。从一个在 RAM 中积累了大量不需要存在的垃圾的进程中调用它可能很有用。但是操作系统已经从 RAM 本身中删除了这些东西。


推荐阅读