Win7 PCA 弹窗问题

VC开发应用程序,有时碰到在win7下会出现关闭程序后,系统会弹出PCA窗体(程序兼容性助手)。

当我们以某个兼容模式运行该程序,退出后就不会出现改提示窗。

Win7 PCA 弹窗问题_第1张图片


查过好些资料,有的说是运行的库冲突导致的,可能是吧。

这边只说下我的解决方法:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
<assemblyIdentity 
    version="1.0.0.0" 
    processorArchitecture="X86" 
    name="Microsoft.Windows.ApkInstaller"
    type="win32" 
/> 
<description>ApkInstaller.exe</description> 
<dependency> 
    <dependentAssembly> 
        <assemblyIdentity 
            type="win32" 
            name="Microsoft.Windows.Common-Controls" 
            version="6.0.0.0" 
            processorArchitecture="X86" 
            publicKeyToken="6595b64144ccf1df" 
            language="*" 
        /> 
    </dependentAssembly> 
</dependency>
  
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
        <requestedExecutionLevel level="asInvoker" uiAccess="false" />
      </requestedPrivileges>
    </security>
  </trustInfo>


  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <application>
      <!--The ID below indicates application support for Windows Vista -->
      <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
      <!--The ID below indicates application support for Windows 7 -->
      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
      <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />
      <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />
    </application>
  </compatibility>


</assembly>


把上面的代码保存为manifest文件,然后倒入到程序资源(红色字体属于解决此问题的关键)。

再次编译次程序,就不再出现该问题了。

你可能感兴趣的:(win7,Microsoft,VC,应用程序)