- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一些 Windows 窗体应用程序需要在 XP/2003/Vista/7/2008/8/2012 上运行,并且当用户选择大字体或更高的 DPI 时应该仍然看起来不错。在 app.manifest 中启用 DPI 感知对于 Vista 及更高版本效果很好,但在 XP/2003 上,应用程序会由于不受支持的 list 条目而报告错误。
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<asmv1:application>
<asmv1:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<dpiAware>true</dpiAware>
</asmv1:windowsSettings>
</asmv1:application>
</asmv1:assembly>
在 Windows 2003 上运行具有该 list 的应用程序会导致此错误消息:
This application has failed to start because the application
configuration is incorrect.
并且记录了此 Windows 事件消息:
The element asmv1:application appears as a child of element
urn:schemas-microsoft-com:asm.v1^assembly which is not supported
by this version of Windows.
是否可以以允许 XP/2003 忽略它们不支持的这部分 list 的方式来声明 list ?或者我必须删除 list 并对 SetProcessDPIAware 进行有条件调用(即使我读过的所有内容都建议不要使用该 API 函数)?
最佳答案
我最终得到了这个 list
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="x86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
<asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<asmv3:windowsSettings
xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<dpiAware>True/PM</dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
</assembly>
Delphi 特定条件:使用运行时主题已关闭且 xpman.pas 未在任何地方使用
关于winforms - 需要 dpiAware 可执行文件才能在 Windows XP/2003 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15096400/
每当我从新 list 中取消注释以下内容时: true 当我发布它时它会导致这个错误。 [24/02/2018 10:23:54 PM] System.Deployment.Applic
如何在这个现有的 app.manifest 中启用 dpiAware:
我有两个显示器: DISPLAY2: 3840x2160 (primary (no idea why it's called DISPLAY2 though) DISPLAY1: 1920x1080
我已经找了几个小时来寻找这个问题的答案,但令人困惑。我遇到了 Windows 8.1 的问题,并找到了如下解决方案: true 我不知道它的确切位置,每次我尝试
我有一些 Windows 窗体应用程序需要在 XP/2003/Vista/7/2008/8/2012 上运行,并且当用户选择大字体或更高的 DPI 时应该仍然看起来不错。在 app.manifest
我需要能够将应用程序 list 中的 dpiAware 属性设置为“每个监视器”。属性中的可用选项仅用于启用或禁用 DPI 感知。这些设置都不适合我。如果我不将 list 嵌入 exe,然后手动编辑
我是一名优秀的程序员,十分优秀!