documentation of the DwmIsCompositionEnabled
function指出:
从Windows 8开始,始终启用DWM合成。如果某个应用程序在其清单中声明了Windows 8兼容性,则此函数将通过pfEnabled接收值TRUE。如果找不到此类清单条目,则不假定Windows 8兼容,并且此函数通过pfEnabled接收值为FALSE。
在Windows 10系统上,该功能将pfEnabled
设置为TRUE
。
我用sigcheck -m
转储了清单:
Verified: Unsigned
File date: 20:51 2018-09-29
Publisher: n/a
Description: n/a
Product: n/a
Version: n/a
File version: n/a
Manifest:
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level='asInvoker' uiAccess='false' />
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
我可能是错的,但是对我来说,这看起来并不像“声明与Windows 8兼容”。
为什么根据文档,没有将pfEnabled
设置为FALSE
?
使用全新的Visual Studio 2017(具有所有默认设置)进行了测试。