能想到的笨办法是对每个按键都单独进行一次定义,但是这样好费时间,并且获取到的代码是跟输入的顺序刚好反过来的,不知道为什么,代码如下:
比如,按下按钮 but
发送的是几乎同时按下12345
捕获到的不是12345,而是54321#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 538, 295, 192, 114)
$Edit1 = GUICtrlCreateEdit("", 16, 8, 505, 155)
$but = GUICtrlCreateButton('',8,200,40,20)
GUICtrlSetData(-1, "Edit1")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
For $i = 1 To 7
HotKeySet($i,'tset_'&$i)
Next
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $but
Send('12345')
EndSwitch
WEnd
Func tset_1()
GUICtrlSetData($Edit1,1,1)
;此处的实际代码为 SoundPlay(@HotKeyPressed&'.wav') 为了能更直观方便测试,我改为了 GUICtrlSetData
EndFunc
Func tset_2()
GUICtrlSetData($Edit1,2,1)
;此处的实际代码为 SoundPlay(@HotKeyPressed&'.wav') 为了能更直观方便测试,我改为了 GUICtrlSetData
EndFunc
Func tset_3()
GUICtrlSetData($Edit1,3,1)
;此处的实际代码为 SoundPlay(@HotKeyPressed&'.wav') 为了能更直观方便测试,我改为了 GUICtrlSetData
EndFunc
Func tset_4()
GUICtrlSetData($Edit1,4,1)
;此处的实际代码为 SoundPlay(@HotKeyPressed&'.wav') 为了能更直观方便测试,我改为了 GUICtrlSetData
EndFunc
Func tset_5()
GUICtrlSetData($Edit1,5,1)
;此处的实际代码为 SoundPlay(@HotKeyPressed&'.wav') 为了能更直观方便测试,我改为了 GUICtrlSetData
EndFunc
Func tset_6()
GUICtrlSetData($Edit1,6,1)
;此处的实际代码为 SoundPlay(@HotKeyPressed&'.wav') 为了能更直观方便测试,我改为了 GUICtrlSetData
EndFunc
Func tset_7()
GUICtrlSetData($Edit1,7,1)
;此处的实际代码为 SoundPlay(@HotKeyPressed&'.wav') 为了能更直观方便测试,我改为了 GUICtrlSetData
EndFunc
|