I'm haven't had much success with issuing additional SetNumLockState or SendInput {NumLock n}.
I think that the NumLock does toggle despite omitting ~, which might explain the beep, but does so at a low-level such that SetNumLockState and SendInput {NumLock}'s can't modify. Could be wrong though.
Code: Select all
#NoEnv
#SingleInstance Force
SendMode Input
SetBatchLines -1
SetWorkingDir %A_ScriptDir%
#Persistent
return
; LWin + NumLk
<#NumLock::
SavedNumLockState := GetKeyState("NumLock", "T")
SendInput {Blind}{LWin Up}{NumLock Up} ; {Blind} gets rid of the unknown {LCtrl} being fired.
Run explorer.exe %A_ComSpec%
return