首页
社区
课程
招聘
[求助]windows兼容助手是如何工作的
发表于: 2013-5-14 13:44 4382

[求助]windows兼容助手是如何工作的

2013-5-14 13:44
4382
我想知道windows兼容助手是如何判断这个程序是不兼容的,哪些操作可能会导致这个提示,不是问如何通过注册表和修改manifest来避免提示

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 209
活跃值: (143)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
首先应该内置了一批,比如vc6 delphi7都在名单内

其次可能主要关注了“安装程序”,manifest没有声明兼容性的安装程序可能都会弹
2013-5-16 19:45
0
雪    币: 107
活跃值: (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
我是来看2楼头像的。
2013-5-17 02:27
0
雪    币: 95
活跃值: (64)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
windows核心编程有提到:
默认情况下,在Windows Vista中通过Windows资源管理器来启动一个应用程序时,进程会自动同一个专用的作业关联,此作业的名称使用了"PCA"字符串前缀.作业中的一个进程退出时,我们是可以接收到一个通知的.所以,一旦通过Windows资源管理器启动的一个历史遗留的程序出现问题,就会触发Program Compatibility Assistant(程序兼容性助手).
Windows Vista提供这个功能的目的是检测兼容性问题.所以,如果你已经为应用程序定义了一个清单(manifest),Windows资源管理器就不会将你的进程同"PCA"前缀的作业关联,它会假定你已经解决了任何可能的兼容性问题.
但是,在需要调试应用程序的时候,如果调试器是从Windows资源管理器启动的,即使有一个清单(mainifest),应用程序也会从调试器继承带有"PCA"前缀的作业.一个简单的解决方案是从命令行而不是Windows资源管理器中启动调试器.在这种情况下,不会发生与作业的关联.
2013-5-19 08:56
0
游客
登录 | 注册 方可回帖
返回
//