为托管应用程序添加DPI Aware支持
今天下午講的一節(jié)Webcast中重點(diǎn)介紹了High DPI,關(guān)于這個(gè)內(nèi)容由于虛機(jī)中不支持DPI Aware的原因,沒有做成Demo,現(xiàn)在給大家一個(gè)教程,希望對(duì)大家在的程序支持Windows 7系統(tǒng)有所幫助:
1. 創(chuàng)建一個(gè)托管應(yīng)用程序(VB.NET或C#皆可,我這里用C#做一個(gè)例子):
2. 右擊選擇項(xiàng)目并添加一個(gè)app.manifest文件:
3. 使用下面的代碼覆蓋該文件:
<?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%22>?
??<assemblyIdentity?version="1.0.0.0"?name="MyApplication.app"/>?
??<asmv3:application?xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">?
????<asmv3:windowsSettings?xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings%22>?
??????<dpiAware>true</dpiAware>?
????</asmv3:windowsSettings>?
??</asmv3:application>?
??<trustInfo?xmlns="urn:schemas-microsoft-com:asm.v2">?
????<security>?
??????<requestedPrivileges?xmlns="urn:schemas-microsoft-com:asm.v3">?
????????<!--?UAC?Manifest?Options?
????????????If?you?want?to?change?the?Windows?User?Account?Control?level?replace?the?
????????????requestedExecutionLevel?node?with?one?of?the?following.?
????????<requestedExecutionLevel??level="asInvoker"?uiAccess="false"?/>?
????????<requestedExecutionLevel??level="requireAdministrator"?uiAccess="false"?/>?
????????<requestedExecutionLevel??level="highestAvailable"?uiAccess="false"?/>?
????????????If?you?want?to?utilize?File?and?Registry?Virtualization?for?backward?
????????????compatibility?then?delete?the?requestedExecutionLevel?node.?
????????-->?
????????<requestedExecutionLevel?level="asInvoker"?uiAccess="false"?/>?
??????</requestedPrivileges>?
????</security>?
??</trustInfo>?
</asmv1:assembly>
?
4. 在Form1窗體上添加一些ToolBox的按鈕:
5. 再創(chuàng)建一個(gè)項(xiàng)目:
6. 不要添加Manifest,直接在Form1上添加幾個(gè)Toolbox的按鈕:
7. 將解決方案編譯好:
8. 在桌面屬性選擇Display:
9. 選擇DPI為150%:
10. 登出系統(tǒng)再登錄就可以應(yīng)用該設(shè)置:
?
11. 打開剛才編譯好的兩個(gè)應(yīng)用程序就可以看到不同了:
兩個(gè)程序哪個(gè)是DPI Aware的呢,大家可以猜猜,好,本文就到此,感謝!
轉(zhuǎn)載于:https://www.cnblogs.com/WilsonWu/archive/2009/04/29/1446479.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的为托管应用程序添加DPI Aware支持的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SMTP连接器的使用
- 下一篇: 程序员相比于黑客(Hacker),差距有