Kako popraviti aplikacije koje izgledaju male na zaslonima s visokim DPI i visokom razlučivosti
Danas se mnoga računala isporučuju s zaslonima vrlo visoke razlučivosti čak i ako je faktor oblika računala manji, na primjer, Ultrabook ili tablet. Ili možda imate stolni monitor s 4K rezolucijom. Pri takvim razlučivostima Windows automatski uključuje DPI skaliranje tako da sve na vašem zaslonu postaje veće. Međutim, postoje neke aplikacije trećih strana koje se ne prikazuju ispravno na zaslonima s visokim DPI. Izgledaju premali za razlučivost zaslona. Pogledajmo kako ih popraviti ako ih Windows 8.1 ili Windows 10 ne skaliraju ispravno.
Obično su takve aplikacije napisane prije nego što su se pojavili zasloni s visokim DPI-jem i nisu pravilno ažurirane kako bi podržale visoki DPI. Izgledaju premaleni na zaslonu s nemoguće čitljivim fontovima i nisu pravilno skalirani. Gumbi su često zagušeni ili suviše maleni za klikanje za stare aplikacije koje nisu ažurirane za zaslone s visokim DPI. Windows obično automatski skalira sve aplikacije koristeći skaliranje u stilu XP, kao i DPI virtualizaciju za one aplikacije koje ne govore Windowsu da su svjesne DPI-ja. Međutim, postoje neke aplikacije koje Windowsima lažu da su svjesne visokog DPI-ja čak i ako nisu, zbog čega ih Windows ne skalira. Takve se aplikacije neispravno prikazuju na full HD ili 4K razlučivosti.
Da biste ih popravili, može se napraviti trik koji prisiljava Windows da skalira aplikaciju pomoću DPI virtualizacije. Međutim, prema mom testiranju, to se može sigurno učiniti samo na Windows 8.1 i Windows 10. Procedura je duga i malo složena za početnike, ali ne postoji brzi GUI u sustavu Windows koji bi prisilio DPI virtualizaciju za određenu aplikaciju. Izvođenje podešavanja Registry uključenog u ovo podešavanje na Windows 7 ili Windows 8.0 izazvalo je neke čudne ponašanja i nuspojave poput nestajanja ikona na traci sustava pa to učinite na vlastitu odgovornost ako pokrenete ove OS-ove. Ako koristite Windows 8.1 ili Windows 10, nastavite s ovim uputama.
- Napravite praznu tekstualnu datoteku iz izbornika Novo desnim klikom bilo gdje, npr. na radnoj površini ili u mapi. Tekstualna datoteka treba sadržavati naziv programa EXE, koji je premalen, nakon čega slijedi tekst ".manifest". Na primjer, ako je naziv programa koji koristite koji izgleda malen SearchTool.exe, tekstualna datoteka koju izradite trebala bi se zvati "SearchTool.exe.manifest". Ako ne znate EXE naziv, desnom tipkom miša kliknite traku zadataka i otvorite Upravitelj zadataka dok je ta aplikacija pokrenuta. Odaberite aplikaciju i kliknite je desnom tipkom miša i kliknite Idi na detalje. Na kartici Detalji prikazat će se EXE naziv. Zatim možete stvoriti tekstualnu datoteku s odgovarajućim imenom. npr. Ime procesa.exe.manifest.
- Preuzmite i instalirajte besplatni program Resource Hacker ovdje: http://www.angusj.com/resourcehacker/. To je alat za uređivanje resursa. Razlog zašto nam je potreban je taj što je manifest aplikacije ponekad pohranjen unutar EXE-a, a Windows prema zadanim postavkama preferira ovaj interni manifest aplikacije. Ne želimo potpuno zanemariti interni manifest aplikacije ako postoji, odnosno ako ga je razvojni programer aplikacije dodao jer osim DPI skaliranja, sadrži i druge važne informacije o paralelnoj konfiguraciji aplikacije i UAC-u uzvišenje.
- Pokrenite Resource Hacker i otvorite EXE aplikacije u njemu koji izgleda neupotrebljivo malen na vašem zaslonu visoke rezolucije.
- Resurs manifesta programa (EXE) obično se pohranjuje kao vrsta resursa 24. Provjerite postoji li ovaj Resurs 24. Ako takav resurs #24 ne postoji unutar EXE-a koji ste otvorili, zatvorite Resource Hacker i otvorite datoteku koju kreiran u koraku 1 u Notepadu i kopirajte i zalijepite sljedeći tekst unutar njega, a zatim spremite i zatvorite tekst datoteka:
1.0 UTF-8 Da?>
Netočno Sada prijeđite izravno na korak 9 za slučaj u kojem nije bilo resursa 24 unutar EXE-a koji ste otvorili i napravili ste gornji korak.
- Ako umjesto toga, resurs 24 postoji u EXE-u koji ste otvorili u Resource Hackeru, proširite čvor nazvan 24 -> 1 i kliknite na stavku 1033 (to je 1033 za izdanja na engleskom jeziku). Desni klik u desnom oknu i kliknite Odaberi sve. Zatim ponovno desnom tipkom miša kliknite odabrani tekst i kliknite Kopiraj i zatvorite Resource Hacker. Nemojte mijenjati interni manifest EXE-a jer EXE može biti digitalno potpisan ili komprimiran. Ne želimo mijenjati izvorni EXE.
- Otvorite Notepad, otvorite datoteku koju ste stvorili u koraku 1 u Notepadu i zalijepite ono što ste kopirali iz Resource Hackera u Notepad i spremite ovu datoteku iz izbornika Datoteka.
- U ovoj datoteci pogledajte postoji li odjeljak koji ima oznaku dpiaware postavljenu na True (to znači da aplikacija tvrdi da je svjesna DPI ako izgleda malo na zaslonu s visokim DPI):
Pravi Ako postoji, promijenite ga iz Točno u Netočno. Ako u podacima manifesta aplikacije ne postoji takav odjeljak koji se odnosi na svijest o DPI-u, dodajte gornji blok teksta odmah iza sljedećeg retka u datoteci manifesta:
- Promijenite oznaku dpaware iz True u False i spremite promjene u datoteku i zatvorite je.
- Kopirajte datoteku u EXE mapu. Na primjer, ako je program instaliran u C:\Program Files\Contoso\SearchTool.exe, kopirajte manifest u direktorij C:\Program Files\Contoso.
- Sada moramo podesiti Windows kako bi mu rekli da preferira vanjske manifestne datoteke u odnosu na one unutarnje ugrađene unutar EXE-a. Ovo podešavanje registra mora se izvršiti *samo* za Windows 8.1 i Windows 10. Ako koristite Windows 7 ili Windows 8.0 RTM, sljedeće podešavanje registra može uzrokovati neočekivane nuspojave kao što su neke funkcije sustava ili aplikacije.
- Otvorite uređivač registra (Regedit.exe) u sustavu Windows 8.1 ili Windows 10. Idite do sljedećeg potključa registra:
HKEY_LOCAL_MACHINE > SOFTVER > Microsoft > Windows > Trenutna verzija > SideBySide
- Desnom tipkom miša odaberite NOVO > DWORD (32-bitna) vrijednost. Dajte mu ime: PreferExternalManifest, a zatim pritisnite ENTER.
- Desnom tipkom miša kliknite PreferExternalManifest, a zatim kliknite Izmijeni. Unesite podatke o vrijednosti 1. Kliknite OK. Izađite iz uređivača registra.
- Sada ponovno pokrenite Windows i pokrenite aplikaciju za koju ste dodali ovaj manifest.
Aplikacija bi trebala biti skalirana pomoću značajke Windows DPI virtualizacije i više neće izgledati premalo s neupotrebljivim kontrolama. Tekst može izgledati mutno, ali to je zato što programer aplikacije nije ažurirao aplikaciju za visoki DPI. Pomalo zamućen tekst je podnošljiv od nečitljivo malog korisničkog sučelja sa sićušnim kontrolama.
Ako se aplikacija još uvijek aktivno razvija, trebali biste kontaktirati njezinog razvojnog programera kako bi on zapravo napravio pravilno skaliranje pri visokom DPI-u, a ne samo označio EXE kao svjestan visokog DPI-ja. Ako se aplikacija više ne održava, onda nemate sreće. Ovo je onoliko dobro koliko će aplikacija izgledati (s malo mutnim tekstom). Međutim, aplikacija bi sada trebala biti upotrebljiva.