鏈接:https://www.zhihu.com/question/40658050/answer/132382971
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
大家好哈,這個問題是可以解決的。其實不限於arcmap,任何軟件都可以。這個方法只有一個不足,就是改變之后軟件畫面會變得比之前模糊一些,對於photoshop系列圖片處理軟件的使用者可能會造成一些困擾,但是對我們使用arcmap的GISer們來說其實影響並不大(個人體驗)。它的優點是改變之后整個軟件體驗和視覺效果和普清屏上完全一致,會舒服很多。(如果不改變的話,即使在arcmap里面設置了大圖標,很多顯示元素仍然會顯得非常難看。)
這個方法其實挺簡單,問題的原因是windows在啟動軟件的時候會檢查此軟件是否知道它正在高分屏上運行,一般軟件默認都會回答‘是’,那么結果就是會出現字體或者圖標很小的情況。我們的解決方法就是讓軟件告訴windows,它不知道它正在高分屏上運行,讓他仍然按照一般分辨率(大多是1920 1080了)顯示。具體方法是在注冊表中讓windows在打開軟件的時候先在軟件目錄里尋找用戶自定義的manifest文件,然后新建一個manifest文件放到arcmap根目錄,這樣arcmap打開的時候就會優先按照新建的manifest文件中的參數顯示了。
第一步:注冊表
1. 找到注冊表中的:
HKEY_LOCAL_MACHINE > SOFTWARE > Microsoft > Windows > CurrentVersion > SideBySide
2. 右鍵--New--DWORD(32bit) Value
3. 鍵入:PreferExternalManifest,回車(優先適用外部manifest文件)。
4. 雙擊新建的注冊表值,在Value Data對話框中鍵入 1, 在右邊的Base選項中選擇 Decimal。OK結束編輯。

第二步:新建manifest文件並放入arcmap根目錄
1. 新建一個.txt文件,在其中粘貼下列代碼。
2. 結束編輯,將文件名改為‘ArcMap.exe.manifest’。(注意:須對整個文件名進行修改,修改后從.txt文件改為了.manifest文件。如果看到修改完后仍然是文本文件,可能是因為你的文件夾顯示設定了不顯示文件后綴,導致你無法修改.txt部分。方法是進入文件夾選項,win10是在view選項卡,靠右邊show/hide欄中在第二個‘File name extensions’打鈎,就可以看到.txt后綴了,這樣將整個文件名刪除替換成ArcMap.exe.manifest即可)
3. 將編輯過的.manifest文件放入ArcMap.exe文件根目錄,如果不知道在哪的話就找到你的arcmap快捷方式,右鍵選擇open file location,會看到arcmap快捷方式,然后再右鍵open file location,就會被引導到ArcMap.exe所在文件夾了。

**********大功告成!打開arcmap,你就會看到熟悉的界面結構了。enjoy!
P.S.如果你在這之前嘗試過打開arcmap的大圖標,現在你得把它關掉了,不然會看到超大的馬賽克圖標 ;)
P.P.S. 之前說過,這個方法適用於任何軟件,你只要將.manifest的文件名中的ArcMap改成那個軟件執行文件的名稱,放到根目錄下(跟執行文件放在一起)就好啦。
Reference:
【1】Adobe App Scaling on High DPI Displays (FIX)
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3"> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"> </assemblyIdentity> </dependentAssembly> </dependency> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="amd64" publicKeyToken="1fc8b3b9a1e18e3b"> </assemblyIdentity> </dependentAssembly> </dependency> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level="asInvoker" uiAccess="false"/> </requestedPrivileges> </security> </trustInfo> <asmv3:application> <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings"> <ms_windowsSettings:dpiAware xmlns:ms_windowsSettings="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</ms_windowsSettings:dpiAware> </asmv3:windowsSettings> </asmv3:application> </assembly>