Windows 7程序兼容性助手出现在我的应用程序中。为什么?

时间:2010-06-18 12:57:46

标签: winapi windows-7

我创建了一个本机应用程序。它在Win XP和Win Vista下没有问题。在Win 7下我的应用程序安装正常。我跑了它正常工作,直到我从菜单中选择“退出”。退出“程序兼容性助手”窗口时,系统会显示我的应用程序与Windows 7不兼容,并且已应用了一些兼容性设置。

我的问题是:

  1. 我如何知道我的应用程序触发程序兼容性助手的操作?是否有任何名单和不是?
  2. 我在哪里可以查找应用于我的应用程序的兼容性设置?

2 个答案:

答案 0 :(得分:3)

请勿专门查看退出代码。应用完成后,PCA会运行。触发它的一件事是你的应用程序没有做太多。例如,如果您将某个“hello world”应用程序重命名为setup.exe并运行它,它将提升,但它实际上不会像真正的安装应用程序那样改变您机器上的任何内容。您的注册表,程序文件目录等都是一样的。因此,PCA说“嗯,也许有一些访问被拒绝或者其他什么,似乎这不起作用,你的设置可能不对。”换句话说,这可能是无害的。但是我发现它可以让应用程序在每次不需要的时候都要求提升,所以值得花时间调查一下。

更改存储在组策略下。

答案 1 :(得分:2)

我的猜测是你的应用程序的退出代码不是0,而值代表建议使用win7来行动。