打开或关闭Scroll Lock

问题描述 投票:3回答:1

我在我的脚本中使用PowerShell来检查各种键的状态,如NumLock和CapsLock。

powershell.exe -Command [Console]::CapsLock
powershell.exe -Command [Console]::NumberLock

但我发现无法通过PowerShell控制台命令检查ScrollLock的状态。你能告诉我为什么powershell.exe -Command [Console]::ScrollLock不起作用,需要做什么?

powershell keyboard scroll-lock
1个回答
3
投票

您可以使用ScrollLock本机Windows API中的GetKeyState() function获取user32.dll密钥状态:

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
}
© www.soinside.com 2019 - 2024. All rights reserved.