我在脚本中使用PowerShell来检查 NumLock 和 CapsLock 等各种键的状态。
powershell.exe -Command [Console]::CapsLock
powershell.exe -Command [Console]::NumberLock
但是我发现无法通过PowerShell控制台命令检查 ScrollLock 的状态。你们能告诉我为什么powershell.exe -Command [Console]::ScrollLock
不起作用以及需要做什么吗?
答案 0 :(得分: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
}