2012-03-20 2 views
6

키보드의 "Num Lock"키를 켜고 끌 수 있습니다. 나는 성공을 거두지 않고 웹과 여기에서 여러 가지 예를 시도했다. "PowerShell : "Num Lock"을 켜거나 끕니다.

[void] [System.Reflection.Assembly]::LoadWithPartialName("'System.Windows.Forms") 
[System.Windows.Forms.SendKeys]::SendWait("{NUMLOCK}") 

가 작동하지 않을 수 있습니다 내가 잠시 내 키보드 플래시에서"Num Lock이 "표시를 참조처럼 위의 코드는 보이지만 그렇지 않습니다 : 이것은 내가 솔루션에있어 가장 가까운 것입니다 스틱".

답변

12

내가 한 것과 동일한 깜박임을 경험했습니다.

이 그래도 나를 위해 잘 작동 그것을 시도 줄 : 그것은 키보드의 관점에서 가치가 무엇인지에 대한

$wsh = New-Object -ComObject WScript.Shell 
$wsh.SendKeys('{NUMLOCK}') 
+0

완료! 이것은 완벽하게 작동했습니다. – Vippy

+0

(이것은 내가 Andy가 만난 적이없는 Powershell 문제를 궁금하게 만든다!) – Sune

+0

"전문가"와 같이 보인다고 Andy에게 삼가면서 말합니다. PowerShell 군주? – Vippy

0
intTime=0 
strInputVal=InputBox("Enter the time","Enter Hours in Int") 
intTime=strInputVal * 60 * 60 

set WshShell = WScript.CreateObject("WScript.Shell") 
For i = 1 to intTime 
    WScript.Sleep 500 
    WshShell.SendKeys "{NUMLOCK}" 
    WScript.Sleep 500 
Next 
WScript.Quit 
Set WshShell = Nothing 
1

을, OS가 다음 세트의 재설정을 전송 [System.Windows.Forms.SendKeys] :: SendWait ("{CAPSLOCK}")을 사용할 때 토글 키 (대문자, 스크롤 잠금, numlock)를 사용하지만 WScript.Shell을 사용하여 단일 이벤트 만 보냅니다.

관련 문제