无法使NotifyIcon加载高DPI资源以进行DPI缩放> = 150%

rfgamaral

我的应用程序是DPI-Aware,这是完整清单:

<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly xmlns:asmv1="urn:schemas-microsoft-com:asm.v1"
                manifestVersion="1.0">
    <assemblyIdentity name="SlackUI"
                      type="win32"
                      version="1.0.0.0" />
    <asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
        <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
            <dpiAware>true</dpiAware>
        </asmv3:windowsSettings>
    </asmv3:application>
</asmv1:assembly>

我正在设置我的NotifyIconicon属性,如下所示:

notifyIcon.Icon = new Icon(Program.Settings.Data.WhiteNotificationIcon ?
                Properties.Resources.NotifyWhite : Properties.Resources.NotifyColor, SystemInformation.SmallIconSize)

但是,这不适用于Windows 8.1系统上DPI缩放等于或大于150%的情况。设置为100%时SystemInformation.SmallIconSize报告16x16大小(正确),当设置为100%时报告20x20大小(正确),在此值之上(例如150%),它应报告24x24大小,但报告16x16并加载错误的分辨率从我的图标文件。

阅读以下文章(http://blog.quppa.net/2011/01/07/small-icon-size-dpi-in-windows/)可以告诉我...

WPF和WinForms都使用参数SM_CXSMICON(小图标宽度)和SM_CYSMICON(小图标高度)作为参数来包裹Win32 GetSystemMetrics函数。

这意味着可能不需要给GetSystemMetrics自己打电话,对吧?

关于如何解决这个问题的任何想法吗?

PS:我说的是我正在开发的开源应用程序,因此,如果您想仔细查看完整的源代码,可以在这里进行

汉斯·帕桑特

强烈暗示您的清单实际上并没有完成任务

它不是。从您的github SlackUI / SlackUI.csproj文件中:

<ItemGroup>
  <None Include="app.manifest">
    <SubType>Designer</SubType>
  </None>
</ItemGroup>

应该什么样的:

<PropertyGroup>
  <ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup>

请注意高度特定的<ApplicationManifest>元素,必须让MSBuild知道这应该是可执行文件的清单。我测试了您的版本,方法是将其粘贴到.csproj文件中,进行构建,然后使用File + Open + File从bin / Debug目录中选择.exe文件。打开RT_MANIFEST节点,双击资源#1。它只是编译器自动生成的默认值,而不是从app.manifest文件修改后的默认值。

这就是为什么它不起作用的原因。我没有奇妙的理论,这是怎么发生的,也许您是手动添加的。您可以通过在“解决方案资源管理器”窗口中右键单击app.manifest并将其删除来修复它。现在使用“项目”>“添加新项”>“常规”>“应用程序清单文件”。再次粘贴更改。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

#1005-无法创建表errno:150

来自分类Dev

错误1005:无法创建表(errno 150)

来自分类Dev

无法创建表errno150

来自分类Dev

#1005-无法创建表errno:150

来自分类Dev

无法创建表(errno 150)Openshift的phpmyadmin

来自分类Dev

如何强制进行高dpi缩放?

来自分类Dev

屏幕DPI-是否存在,并且等效于Windows 150%显示的命令/操作

来自分类Dev

无法在MySQL中创建外键约束。错误号150

来自分类Dev

MySQL错误1005:无法建立表格(错误编号:150)

来自分类Dev

#1005-无法创建表“ EmployeeShifts”(错误号:150)

来自分类Dev

无法创建表“ basque30.newreferral”(错误号:150)

来自分类Dev

#1005-无法创建表''(错误号:150)

来自分类Dev

无法制作2个外键,“ errno:150”

来自分类Dev

MySQL无法导入数据库(错误号:150)

来自分类Dev

MYSQL外键,无法创建表(errno:150)

来自分类Dev

图像转换:(150,150) -> (150,150,3)

来自分类Dev

加载150个.axd文件的最新版本的Ajax Control工具包

来自分类Dev

在填充的数据库中进行正向工程某些新关系失败(错误号150)

来自分类Dev

在填充的数据库中进行正向工程某些新关系失败(errno 150)

来自分类Dev

MySql错误代码:1005无法创建表错误号:150

来自分类Dev

外键问题:错误1005(HY000):无法创建表(错误号:150)

来自分类Dev

无法识别ISY WLAN USB适配器IWL 1000 N150

来自分类Dev

MySQL-无法创建表(错误号:150)-外键约束

来自分类Dev

它继续显示“错误1005无法创建表注册。panepistimio(errno:150)

来自分类Dev

#1005-无法创建表“ demo.survey”(错误号:150)

来自分类Dev

MySQL错误150无法将流派从流派表分配到专辑表中作为外键

来自分类Dev

错误代码:1005-无法创建表(错误号:150)

来自分类Dev

无法创建表`travel`.`city`(错误号:150“外键约束形成不正确”)

来自分类Dev

错误 1005 (HY000): 无法创建表 'CBDB.Subsystem' (errno: 150)

Related 相关文章

  1. 1

    #1005-无法创建表errno:150

  2. 2

    错误1005:无法创建表(errno 150)

  3. 3

    无法创建表errno150

  4. 4

    #1005-无法创建表errno:150

  5. 5

    无法创建表(errno 150)Openshift的phpmyadmin

  6. 6

    如何强制进行高dpi缩放?

  7. 7

    屏幕DPI-是否存在,并且等效于Windows 150%显示的命令/操作

  8. 8

    无法在MySQL中创建外键约束。错误号150

  9. 9

    MySQL错误1005:无法建立表格(错误编号:150)

  10. 10

    #1005-无法创建表“ EmployeeShifts”(错误号:150)

  11. 11

    无法创建表“ basque30.newreferral”(错误号:150)

  12. 12

    #1005-无法创建表''(错误号:150)

  13. 13

    无法制作2个外键,“ errno:150”

  14. 14

    MySQL无法导入数据库(错误号:150)

  15. 15

    MYSQL外键,无法创建表(errno:150)

  16. 16

    图像转换:(150,150) -> (150,150,3)

  17. 17

    加载150个.axd文件的最新版本的Ajax Control工具包

  18. 18

    在填充的数据库中进行正向工程某些新关系失败(错误号150)

  19. 19

    在填充的数据库中进行正向工程某些新关系失败(errno 150)

  20. 20

    MySql错误代码:1005无法创建表错误号:150

  21. 21

    外键问题:错误1005(HY000):无法创建表(错误号:150)

  22. 22

    无法识别ISY WLAN USB适配器IWL 1000 N150

  23. 23

    MySQL-无法创建表(错误号:150)-外键约束

  24. 24

    它继续显示“错误1005无法创建表注册。panepistimio(errno:150)

  25. 25

    #1005-无法创建表“ demo.survey”(错误号:150)

  26. 26

    MySQL错误150无法将流派从流派表分配到专辑表中作为外键

  27. 27

    错误代码:1005-无法创建表(错误号:150)

  28. 28

    无法创建表`travel`.`city`(错误号:150“外键约束形成不正确”)

  29. 29

    错误 1005 (HY000): 无法创建表 'CBDB.Subsystem' (errno: 150)

热门标签

归档