问答区有人需要这样的
就写了个
发出来供大家参考
窗口程序集名 | 保 留 | 保 留 | 备 注 | 窗口程序集_窗口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 ) 返回 (真)返回 (假)
模拟输入.zip
(91.73 KB, 下载次数: 127)
|