窗口程序集名 | 保 留 | 保 留 | 备 注 |
窗口程序集_窗口1 | | | |
hwnd =
FindWindowA (“Notepad”,
“测试文本.txt - 记事本”)
如果真 (0 = hwnd
)
输出调试文本 (“句柄不能为空”)
返回 ()
独立线程 (hwnd, 编辑框_投递的文本.内容, 199, -36
)|
独立线程 | | |
|
hwnd | 整数型 | | | |
inputdata | 文本型 | | | | x | 整数型 | | | | y | 整数型 | | | |
如果真 (hwnd = 0
或 取文本长度 (inputdata
) ≤ 0
)
返回 ()
如果真 (模拟鼠标单击 (hwnd, x, y
))
模拟投递文本 (inputdata, hwnd
)
变量名 | 类 型 | 静态 | 数组 | 备 注 |
stringlength | 整数型 | | |
i | 整数型 | | |
ascii | 整数型 | | |
tmphwnd | | | |
bscan | 整数型 | | |
state | 整数型 | | |
stringlength =
取文本长度 (inputdata
)
计次循环首 (stringlength, i
)
ascii =
取代码 (inputdata, i
)
处理事件 ()
tmphwnd =
GetForegroundWindow ()
如果真 (tmphwnd ≠ hwnd
)
SwitchToThisWindow (hwnd, 1
)
延时 (50)
判断 (ascii ≥
取代码 (“a”,
) 且 ascii ≤
取代码 (“z”,
))


state =
GetKeyState (20
)

如果真 (state = 1
)

keybd_event (20, 0, 0, 0
)

keybd_event (20, 0, 2, 0
)
keybd_event (ascii - 32, 0, 0, 0)
延时 (50
)
keybd_event (ascii - 32, 0, 2, 0
)
判断 (ascii ≥
取代码 (“A”,
) 且 ascii ≤
取代码 (“Z”,
))


state =
GetKeyState (20
)

如果真 (state ≠ 1
)

keybd_event (20, 0, 0, 0
)

keybd_event (20, 0, 2, 0
)
keybd_event (ascii, 0, 0, 0)
延时 (50
)
keybd_event (ascii, 0, 2, 0
)
判断 (ascii = 33
) 
keybd_event (16, 0, 0, 0
)
keybd_event (49, 0, 0, 0
)
延时 (50
)
keybd_event (49, 0, 2, 0
)
keybd_event (16, 0, 2, 0
)

判断 (ascii = 35
) 
keybd_event (16, 0, 0, 0
)
keybd_event (51, 0, 0, 0
)
keybd_event (51, 0, 2, 0
)
keybd_event (16, 0, 2, 0
)
判断 (ascii = 36
) 
keybd_event (16, 0, 0, 0
)
keybd_event (52, 0, 0, 0
)
keybd_event (52, 0, 2, 0
)
keybd_event (16, 0, 2, 0
)
判断 (ascii = 37
) 
keybd_event (16, 0, 0, 0
)
keybd_event (53, 0, 0, 0
)
keybd_event (53, 0, 2, 0
)
keybd_event (16, 0, 2, 0
)
判断 (ascii = 38
) 
keybd_event (16, 0, 0, 0
)
keybd_event (55, 0, 0, 0
)
keybd_event (55, 0, 2, 0
)
keybd_event (16, 0, 2, 0
)
判断 (ascii = 94
) 
keybd_event (16, 0, 0, 0
)
keybd_event (54, 0, 0, 0
)
keybd_event (54, 0, 2, 0
)
keybd_event (16, 0, 2, 0
)
判断 (ascii = 42
) 
keybd_event (16, 0, 0, 0
)
keybd_event (56, 0, 0, 0
)
keybd_event (56, 0, 2, 0
)
keybd_event (16, 0, 2, 0
)
判断 (ascii = 40
) 
keybd_event (16, 0, 0, 0
)
keybd_event (57, 0, 0, 0
)
keybd_event (57, 0, 2, 0
)
keybd_event (16, 0, 2, 0
)
判断 (ascii = 41
) 
keybd_event (16, 0, 0, 0
)
keybd_event (48, 0, 0, 0
)
keybd_event (48, 0, 2, 0
)
keybd_event (16, 0, 2, 0
)
判断 (ascii = 64
) 
keybd_event (16, 0, 0, 0
)
keybd_event (50, 0, 0, 0
)
keybd_event (50, 0, 2, 0
)
keybd_event (16, 0, 2, 0
)
keybd_event (ascii, 0, 0, 0
)
延时 (50
)
keybd_event (ascii, 0, 2, 0
)



延时 (50
)
编辑框1.
加入文本 (“按下键盘: ” +
到文本 (ascii
) +
#换行符 )
计次循环尾 ()|
模拟鼠标单击 | 逻辑型 | |
|
hwnd | 整数型 | | | |
X | 整数型 | | | | Y | 整数型 | | | |
如果真 (GetWindowRect (hwnd, 屏幕坐标
) ≠
真)
返回 (假)
如果真 (API_SetCursorPos (屏幕坐标.left + X, 屏幕坐标.top + Y
) ≠ 0
)
mouse_event ( #MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
)
延时 (50
)
mouse_event ( #MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
)
返回 (真)返回 (假)