2012-07-03 51 views
2

我在写一个C++ MFC应用程序。我希望避免在程序执行期间在硬盘上写入任何数据。如何在Windows MFC应用程序中禁用创建.pf(预取)文件?

当我打开我的应用程序时,Windows立即在目录..\Windows\Prefetch\中创建一个.pf文件。

我无法禁用负责预取的注册表值(HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters\EnablePrefetcher),因为我的应用程序必须在许多不同的机器上运行,并且有些用户可能甚至不知道如何运行regedit。

你能告诉我,如果有任何选项来禁用创建我的应用程序文件?

+0

这真的是由应用程序或仅由操作系统生成的吗?如果是操作系统,那么你可能没有办法做到这一点,也不会真的给你带来任何问题(除非你试图隐藏你在那台机器上运行该进程?) – Rup

+1

是的,这个文件是由操作系统创建,而不是由我的应用程序。我正在写数据恢复程序,所以我不想对HDD进行任何更改(例如,从笔驱动器运行应用程序)。 – filipbe

+0

你在用/ SWAPRUN链接吗? – Stefan

回答

0

如上所述here停止SuperFetch的服务。我会在InitInstance尝试这个。如果这证明为时已晚,我会在软件运行之前停止服务。

相关问题