禁用应用程序的桌面合成
如何在 Windows Vista/7 中标记应用程序以通过注册表或 NSIS 脚本禁用桌面合成?
通常,它是在应用程序属性的兼容性设置中完成的。
How do I flag an app in Windows Vista/Seven to disable desktop composition thru registry or NSIS script?
Normally it´s done in Compatibility settings in app´s properties.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果确实需要,您可以在注册表中的“SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers”中添加一个条目,其中包含 WriteRegStr 指令(我认为没有官方的 API,因为用户应该控制这些选项,而不是开发人员(毕竟,你可以只需修复损坏的应用程序)有一个名为 SHGetAppCompatFlags 读取标志,但没有“setter” AFAIK
)
If you really must, you can add an entry in the registry in "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" with the WriteRegStr instruction (I don't think there is an official API for this since the user is supposed to control those options, not the developer (After all, you can just fix your broken app) There is a undocumented function called SHGetAppCompatFlags to read the flags, but no "setter" AFAIK
)
当您的应用程序启动时,使用
关闭合成DwmEnableComposition
:这将禁用组合,直到(您的)违规进程退出。
注意:此 API 不会修改用户的组合首选项 - 只是您的应用程序不兼容。
When your application starts turn off composition using
DwmEnableComposition
:This will disable composition until the (your) offending process exits.
Note: This API doesn't modify the user's preference for composition - only that your application is incompatible.