如何在所有文件夹中设置可执行文件的兼容模式?

如何在所有文件夹中设置可执行文件的兼容模式?

假设我的应用程序以兼容模式运行位于

目录:\cats\app.exe

如果我手动将 app.exe 设置为兼容模式(例如 WinVistaSP2),并设置其属性等。Windows 将在兼容模式 WinVistaSP2 下执行该程序,只有 app.exe 位于 c:\cats

但是如果我将 app.exe 移动到另一个文件夹,例如 y:\dogs\app.exe,兼容性就不会在该文件夹中起作用。

所以我想知道:是否有一个应用程序、一个工具或一种方法可以在兼容模式下始终在任何文件夹中保留我预设的 app.exe?

答案1

简单的回答是:你不能。

兼容模式不与文件一起保存,而是保存在注册表中的项下
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

应用程序将有一个类型为 的条目REG_SZ,名为 y:\dogs\app.exe,其值为所有兼容性标志,并以空格分隔。对于 Vista 兼容性,您将拥有~ VISTARTM (请注意 后面的空格~)。

此外,这些注册表项永远不会被删除,因此文件可能会被移走或替换,但同名且位于同一文件夹中的文件将始终具有这些兼容模式。这不是一个非常复杂的机制,但这就是生活。

目前,我不知道有任何程序会在程序移动时移动注册表项,甚至 Microsoft 的文件实用程序也是如此。您需要手动更新注册表,或者编写一个脚本来移动文件并更新注册表。Windows 不会这样做。

相关内容