怎样模拟鼠标键盘输入,高手来帮忙啊。

friendbcb 2004-08-25 05:13:02
要做一个自动测试的软件,要不断的输入数据,用鼠标点很多按钮,想写一个程序来自动模拟输入,没有这方面的经验,请大家帮忙啊!!
...全文
110 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2005-08-31
  • 打赏
  • 举报
回复
mark
jishiping 2004-08-25
  • 打赏
  • 举报
回复
楼主时测试某个固定的程序,先测试哪个按钮,后测试哪个按钮,都是已经在测试程序中
写好的。这些按钮,相对于哪个程序窗口的位置,也是知道的,可以在程序中写好的。唯
一要做的,就是将相对窗口的位置转换为屏幕的位置,这个需要在测试程序的一开始,使
用FindWindow找到那个窗口的句柄,然后才能将那个窗口中的各个按钮的位置,转换为屏
幕位置。
constantine 2004-08-25
  • 打赏
  • 举报
回复
如果要按多个键哪不是很麻烦,
也要得到句柄来获得位置吧?
我以前做中游的锄大D自动大牌就是这样的,当毕竟只要一个键.
季老大同意我的说法吗?
jishiping 2004-08-25
  • 打赏
  • 举报
回复
楼主测试自己的软件,各个按钮的位置是已经知道的。
constantine 2004-08-25
  • 打赏
  • 举报
回复
用mouse_event还要位置,老大你要怎么处理
keybd_event我没有意见
jishiping 2004-08-25
  • 打赏
  • 举报
回复
忘了说了,对于鼠标键的模拟,你需要先用 Mouse->CursorPos 指定鼠标的位置。
constantine 2004-08-25
  • 打赏
  • 举报
回复
扑捉到你要按的按纽的句柄,用SendMessage(hWnd,BM_CLICK,0,0);
就可以了
句柄,可以用FindWindow,FindWindowEx来获得
jishiping 2004-08-25
  • 打赏
  • 举报
回复
keybd_event(VK_CONTROL, 0, 0, 0); //模拟 Ctrl 键按下
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0); //模拟 Ctrl 键松开

mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); //模拟鼠标左键按下
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); //模拟鼠标左键松开

至于其它的键盘键或者鼠标键,只要将上面的第一个参数换掉就可以了。

1,221

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧