Saya ingin membuat pintasan keyboard untuk mengubah skala DPI dengan cepat dan mudah di mesin saya, dengan cara membuat makro kecil untuk dijalankan setelah mendeteksi pintasan keyboard.
Pada Windows 8.1, skala DPI tampilan desktop dapat diatur melalui panel kontrol (gambar di bawah), segera berlaku. Sebagai alternatif, skala dapat diatur secara manual dalam registri, tetapi melakukan hal itu mengharuskan pengguna masuk dan keluar atau menyalakan ulang mesin untuk mengambil efek (dan hanya berfungsi untuk meniru opsi "satu tingkat penskalaan untuk semua tampilan saya") .
Bagaimana saya bisa mengatur skala DPI melalui baris perintah, atau secara terprogram?
windows
command-line
windows-8.1
dpi
high-dpi
FThompson
sumber
sumber
Let me choose one scaling level...
kotak centang karena bilah geser di atasnya berwarna abu-abu pada notebook saya.Jawaban:
Kunci registri yang benar untuk penskalaan independen monitor adalah
HKCU:\Control Panel\Desktop
dengan nilainyaLogPixels
. Informasi lebih lanjut tentang semua pengaturan registri terkait DPI dapat ditemukan di sini: http://technet.microsoft.com/en-us/library/dn528846.aspx#system Ada juga informasi untuk kasus ini ketika Anda mengaktifkan penskalaan yang berbeda untuk setiap tampilan .Saya menulis skrip PowerShell kecil yang mengubah penskalaan DPI untuk semua tampilan tergantung pada penskalaan saat ini dan melakukan logoff pengguna jadi saya hanya perlu menjalankan skrip ketika saya meletakkan perangkat saya ke monitor yang berbeda.
Saya pikir Anda dapat memodifikasinya untuk kebutuhan Anda dengan informasi artikel TechNet.
sumber
LogPixels
nilai hanya berlaku ketika kotak centang "Biarkan saya memilih satu tingkat penskalaan untuk semua tampilan saya" dicentang, sesuatu yang saya amati ketika mengacaukan nilai registri sendiri tetapi juga dikonfirmasi oleh artikel Technet yang tertaut. Selain itu, solusi Anda memiliki peringatan bahwa pengguna harus keluar; DPI tidak diperbarui tanpa pengguna keluar dan kembali lagi. Di antara dua kelemahan ini, solusi Anda tidak cukup berhasil untuk saya, tetapi semua +1 sama untuk jawaban yang bagus.HKCU:\Control Panel\Desktop\Win8DpiScaling
untuk1
. Kalau tidak, ia akan menggunakan faktor penskalaan default dan mengabaikan nilai dalamLogPixels
.HKCU:\Control Panel\Desktop
lihatHKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics\AppliedDPI
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\GraphicsDrivers\ScaleFactors
Ada skrip PowerShell untuk mengubah resolusi layar yang mungkin bisa membantu. Saya tidak tahu apakah perubahan itu langsung pada Windows 8.1, tetapi dengan sedikit keberuntungan skrip ini mungkin menggunakan API yang sama seperti yang digunakan oleh applet Panel Kontrol.
Lengkap
Set-ScreenResolution.ps1
Script tersedia di Repositori Script , tetapi terlalu lama untuk mereproduksi di sini.Deskripsi oleh penulis dapat ditemukan di artikel:
Hei, Scripting Guy! Bagaimana Saya Dapat Mengubah Resolusi Monitor Desktop Saya melalui Windows PowerShell? .
Beberapa informasi tentang penggunaannya dapat ditemukan di artikel:
Mengubah Resolusi Layar dengan Powershell .
sumber