Включить или отключить блокировку прокрутки
Я использую PowerShell в своем скрипте для проверки состояния различных клавиш, таких как NumLock и CapsLock.
powershell.exe -Command [Console]::CapsLock
powershell.exe -Command [Console]::NumberLock
Но я не нашел способа проверить состояние ScrollLock через консольную команду PowerShell. Ребята, скажите, почему powershell.exe -Command [Console]::ScrollLock
не работает и что нужно сделать?
2 ответа
Вы можете получить ScrollLock
ключевое состояние с GetKeyState()
функция от user32.dll
родной Windows API:
Add-Type -MemberDefinition @'
[DllImport("user32.dll")]
public static extern short GetKeyState(int nVirtKey);
'@ -Name keyboardfuncs -Namespace user32
# 0x91 = 145, the virtual key code for the Scroll Lock key
# see http://www.foreui.com/articles/Key_Code_Table.htm
if([user32.keyboardfuncs]::GetKeyState(0x91) -eq 0){
# Scroll Lock is off
}
else {
# Scroll Lock is on
}
Вы также можете получить его, запустив:
[System.Windows.Forms.Control]::IsKeyLocked('Scroll')