12

Я хотел бы создать сочетание клавиш для быстрого и простого изменения масштаба DPI на моем компьютере путем создания небольшого макроса для запуска при обнаружении сочетания клавиш.

В Windows 8.1 масштаб DPI дисплея рабочего стола можно установить с помощью панели управления (см. Рисунок ниже), вступая в силу немедленно. В качестве альтернативы масштаб может быть установлен вручную в реестре, но для этого необходимо, чтобы пользователь вошел в систему, а затем перезапустил компьютер для вступления в силу (и работает только для имитации параметра "один уровень масштабирования для всех моих дисплеев"),

Как установить масштаб DPI с помощью командной строки или иным образом программно?

http://puu.sh/93YLV.jpg

2 ответа2

8

Правильный ключ реестра для независимого от монитора масштабирования - HKCU:\Control Panel\Desktop со значением LogPixels . Дополнительную информацию обо всех параметрах реестра, связанных с DPI, можно найти здесь: http://technet.microsoft.com/en-us/library/dn528846.aspx#system. Также есть информация для случая, когда вы включили различное масштабирование для каждого дисплея ,

Я написал крошечный скрипт PowerShell, который изменяет масштаб DPI для всех дисплеев в зависимости от текущего масштабирования и выполняет выход пользователя из системы, поэтому мне просто нужно выполнить скрипт, когда я подключаю свое устройство к другому монитору.

cd 'HKCU:\Control Panel\Desktop'
$val = Get-ItemProperty -Path . -Name "LogPixels"
if($val.LogPixels -ne 96)
{
    Write-Host 'Change to 100% / 96 dpi'
    Set-ItemProperty -Path . -Name LogPixels -Value 96
} else {
    Write-Host 'Change to 150% / 144 dpi'
    Set-ItemProperty -Path . -Name LogPixels -Value 144
}

logoff;exit

Я думаю, что вы можете изменить его для своих нужд, используя информацию из статьи TechNet.

2

Существует сценарий PowerShell для изменения разрешения экрана, что может помочь. Я понятия не имею, произойдет ли немедленное изменение в Windows 8.1, но, если повезет, этот сценарий может использовать тот же API, что и апплет панели управления.

Полный сценарий Set-ScreenResolution.ps1 доступен в хранилище сценариев, но он слишком длинный, чтобы воспроизводить его здесь.

Его описание автором можно найти в статье:
Эй, автор сценариев! Как изменить разрешение монитора рабочего стола через Windows PowerShell? ,

Некоторую информацию по его использованию можно найти в статье:
Изменение разрешения экрана с помощью Powershell.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .