Ako opraviť aplikácie, ktoré vyzerajú malé na displejoch s vysokým DPI a vysokým rozlíšením
V súčasnosti sa mnoho počítačov dodáva s displejmi s veľmi vysokým rozlíšením, aj keď je formát počítača menší, napríklad ultrabook alebo tablet. Alebo môžete mať stolný monitor s rozlíšením 4K. Pri takýchto rozlíšeniach systém Windows automaticky zapne škálovanie DPI, takže všetko na obrazovke sa zväčší. Existujú však aplikácie tretích strán, ktoré sa na obrazovkách s vysokým DPI nevykresľujú správne. Vyzerajú príliš malé pre rozlíšenie obrazovky. Pozrime sa, ako ich opraviť, ak ich systém Windows 8.1 alebo Windows 10 neškáluje správne.
Takéto aplikácie boli zvyčajne napísané pred zobrazením displejov s vysokým DPI a neboli správne aktualizované, aby podporovali vysoké DPI. Na obrazovke sa zdajú byť príliš malé s nečitateľným písmom a nemajú správnu mierku. Tlačidlá sú často nesprávne umiestnené alebo príliš malé na kliknutie v prípade starých aplikácií, ktoré neboli aktualizované pre displeje s vysokým DPI. Windows zvyčajne automaticky škáluje všetky aplikácie pomocou škálovania v štýle XP, ako aj virtualizácie DPI pre tie aplikácie, ktoré nepovedia systému Windows, že poznajú DPI. Existujú však niektoré aplikácie, ktoré klamú Windows, že sú si vedomé vysokého DPI, aj keď nie, a preto ich Windows neškáluje. Takéto aplikácie sa vykresľujú nesprávne v rozlíšení Full HD alebo 4K.
Na ich opravu je možné urobiť trik, ktorý prinúti Windows škálovať aplikáciu pomocou virtualizácie DPI. Podľa môjho testovania to však možno bezpečne vykonať iba v systéme Windows 8.1 a Windows 10. Postup je dlhý a trochu zložitý pre začínajúcich používateľov, ale v systéme Windows neexistuje rýchle grafické rozhranie, ktoré by vynútilo virtualizáciu DPI pre konkrétnu aplikáciu. Vylepšenie databázy Registry, ktoré je súčasťou tohto vylepšenia v systéme Windows 7 alebo Windows 8.0, spôsobilo nejaké zvláštne správanie a vedľajšie účinky, ako napríklad zmiznutie ikon na paneli úloh, takže ak ich spustíte, robte to na vlastné riziko tieto OS. Ak používate Windows 8.1 alebo Windows 10, pokračujte podľa týchto pokynov.
Reklama
- Vytvorte prázdny textový súbor z ponuky Nový kliknutím pravým tlačidlom myši kdekoľvek, napr. na pracovnej ploche alebo v priečinku. Textový súbor by mal mať názov programu EXE, ktorý sa vykresľuje príliš malý, a za ním text „.manifest“. Napríklad, ak názov používaného programu, ktorý vyzerá ako malý, je SearchTool.exe, vytvorený textový súbor by mal mať názov „SearchTool.exe.manifest“. Ak nepoznáte názov EXE, kliknite pravým tlačidlom myši na panel úloh a otvorte Správcu úloh, kým je táto aplikácia spustená. Vyberte aplikáciu, kliknite na ňu pravým tlačidlom myši a kliknite na položku Prejsť na podrobnosti. Na karte Podrobnosti sa zobrazí názov EXE. Potom môžete vytvoriť textový súbor s príslušným názvom. napr. Processname.exe.manifest.
- Stiahnite si a nainštalujte bezplatný program Resource Hacker tu: http://www.angusj.com/resourcehacker/. Je to nástroj na úpravu zdrojov. Dôvod, prečo to potrebujeme, je ten, že manifest aplikácie je niekedy uložený v súbore EXE a systém Windows predvolene uprednostňuje tento interný manifest aplikácie. Nechceme úplne ignorovať interný manifest aplikácie, ak existuje, teda ak ho pridal vývojár aplikácie pretože okrem škálovania DPI obsahuje ďalšie dôležité informácie o konfigurácii aplikácie vedľa seba a UAC nadmorská výška.
- Spustite Resource Hacker a otvorte v ňom EXE aplikácie, ktorá vyzerá na vašom displeji s vysokým rozlíšením nepoužiteľne malá.
- Prostriedok manifestu programu (EXE) je zvyčajne uložený ako zdroj typu 24. Skontrolujte, či tento zdroj 24 existuje. Ak v EXE, ktorý ste otvorili, žiadny takýto prostriedok #24 neexistuje, zatvorte Resource Hacker a otvorte súbor vy vytvorený v kroku 1 v programe Poznámkový blok a do neho skopírujte a vložte nasledujúci text a potom text uložte a zatvorte súbor:
1.0 UTF-8 Áno?>
Nepravdivé Teraz preskočte priamo na krok 9 v prípade, že v EXE, ktorý ste otvorili, nebol žiadny zdroj 24 a urobili ste vyššie uvedený krok.
- Ak namiesto toho existuje zdroj 24 v EXE, ktorý ste otvorili v Resource Hacker, potom rozbaľte uzol s názvom 24 -> 1 a kliknite na položku 1033 (pre anglické verzie je to 1033). Kliknite pravým tlačidlom myši na pravú tablu a kliknite na položku Vybrať všetko. Potom znova kliknite pravým tlačidlom myši na vybratý text a kliknite na položku Kopírovať a zatvorte Hacker zdrojov. Nerobte žiadne zmeny v internom manifeste EXE, pretože EXE môže byť digitálne podpísané alebo komprimované. Nechceme upravovať pôvodný EXE.
- Otvorte program Poznámkový blok, otvorte súbor, ktorý ste vytvorili v kroku 1 v programe Poznámkový blok, prilepte to, čo ste skopírovali z programu Resource Hacker, do programu Poznámkový blok a uložte tento súbor z ponuky Súbor.
- V tomto súbore skontrolujte, či existuje sekcia, ktorá má príznak dpiaware nastavený na hodnotu True (to znamená, že aplikácia tvrdí, že pozná DPI, ak sa na displeji s vysokým DPI javí ako malá):
Pravda Ak existuje, zmeňte ho z True na False. Ak v informáciách manifestu aplikácie neexistuje žiadna takáto sekcia týkajúca sa informovanosti o DPI, pridajte vyššie uvedený blok textu hneď za nasledujúci riadok v súbore manifestu:
- Zmeňte príznak dpaware z True na False a uložte zmeny do súboru a zatvorte ho.
- Skopírujte súbor do priečinka EXE. Napríklad, ak je program nainštalovaný v C:\Program Files\Contoso\SearchTool.exe, skopírujte manifest do adresára C:\Program Files\Contoso.
- Teraz musíme vyladiť systém Windows, aby sme mu povedali, aby uprednostňoval externé súbory manifestu pred internými súbormi vloženými do súboru EXE. Toto vylepšenie databázy Registry je potrebné vykonať *len* pre Windows 8.1 a Windows 10. Ak používate systém Windows 7 alebo Windows 8.0 RTM, vykonanie nasledujúceho vylepšenia databázy Registry môže spôsobiť neočakávané vedľajšie účinky, ako napríklad zlyhanie niektorých funkcií systému alebo zlyhanie aplikácií.
- Otvorte Editor databázy Registry (Regedit.exe) v systéme Windows 8.1 alebo Windows 10. Prejdite na nasledujúci podkľúč databázy Registry:
HKEY_LOCAL_MACHINE > SOFTWARE > Microsoft > Windows > CurrentVersion > SideBySide
- Kliknite pravým tlačidlom myši a vyberte položku NOVÝ > Hodnota DWORD (32 bitov). Pomenujte ho: PreferExternalManifest a stlačte kláves ENTER.
- Kliknite pravým tlačidlom myši na položku PreferExternalManifest a potom kliknite na položku Upraviť. Zadajte údaje hodnoty 1. Kliknite na tlačidlo OK. Ukončite Editor databázy Registry.
- Teraz reštartujte Windows a spustite aplikáciu, pre ktorú ste pridali tento manifest.
Aplikácia by mala byť škálovaná pomocou funkcie virtualizácie Windows DPI a už nebude vyzerať príliš malá s nepoužiteľnými ovládacími prvkami. Text môže vyzerať rozmazane, ale to je spôsobené tým, že vývojár aplikácie neaktualizoval aplikáciu pre vysoké DPI. Mierne rozmazaný text je tolerovateľný ako nečitateľné malé používateľské rozhranie s malými ovládacími prvkami.
Ak sa aplikácia stále aktívne vyvíja, mali by ste kontaktovať jej vývojára, aby ju skutočne správne škáloval pri vysokom DPI a nielen označil EXE ako vedomý vysokého DPI. Ak aplikácia už nie je udržiavaná, máte smolu. Je to tak dobré, ako bude aplikácia vyzerať (s mierne rozmazaným textom). Aplikácia by však už mala byť použiteľná.