Code: Select all
DllCall("keybd_event", "Int", VirtualKey, "Int", ScanCode, "Int", 1, "Int", 0)
DllCall("keybd_event", "Int", VirtualKey, "Int", ScanCode, "Int", 2, "Int", 0)
尝试如下:
Code: Select all
~*1::
press_key("Space")
Return
press_key(key_name)
{
VarSetCapacity(Key_Down, 40)
VarSetCapacity(Key_Up, 40)
static INPUT_KEYBOARD := 1, KEYEVENTF_EXTENDEDKEY := 0x0001, KEYEVENTF_KEYUP := 0x0002
VirtualKey := GetKeyVK(key_name)
ScanCode := GetKeySC(key_name)
NumPut(INPUT_KEYBOARD, Key_Down, "UInt")
NumPut(VirtualKey, Key_Down, A_PtrSize, "UShort")
NumPut(ScanCode, Key_Down, A_PtrSize+4, "UShort")
NumPut(INPUT_KEYBOARD, Key_Up, "UInt")
NumPut(VirtualKey, Key_Up, A_PtrSize, "UShort")
NumPut(ScanCode, Key_Up, A_PtrSize+4, "UShort")
NumPut(KEYEVENTF_EXTENDEDKEY, Key_Down, A_PtrSize+4*3, "UInt")
DllCall("SendInput", "UInt", 1, "Ptr", &Key_Down, "Int", 40)
sleep, 100
VarSetCapacity(Key_Down, 0)
NumPut(KEYEVENTF_KEYUP, Key_Up, 2*A_PtrSize+4*3, "UInt")
DllCall("SendInput", "UInt", 1, "Ptr", &Key_Down, "Int", 40)
sleep, 100
VarSetCapacity(Key_Up, 0)
}
Code: Select all
key := "Space" ;等等等等
Send, {%key% Down}
Send, {%key% Up}
Code: Select all
SetBatchLines, -1
SetKeyDelay, -1, -1