作者hayabusasean (云湛)
看板Visual_Basic
标题[VB6 ] 後台滑鼠,後台按键 PostMessage问题请教
时间Tue Dec 3 11:23:19 2013
目前正在写一个"前"台,模拟滑鼠键盘,自行输入脚本的VB6程式
大致以完成功能如下:
1.可自行定义,热键抓取区域及图片,可自动"模拟比对"找到该图示的中心点
(因为该按键位置会变动,颜色会随机变化),然後以该按键为中心,随机时间与滑鼠点击位置
2.脚本都是自行定义的指令,有IF,goto,delay,move滑鼠座标,Click...等等动作,可撰写完整一套.
目前是拿来用在BlueStack的Android小游戏挂网做测试,基本上都没问题
不过想更进一步,用"後台"方式来做,後台取色及判断目前已经OK
但卡在...後台滑鼠&後台键盘
已经试了好几天,Google各种相关的文都爬了,
使用API,GetForegroundWindow取得hWnd,想用PostMessage来模拟滑鼠左键一直无法顺利
成功
< A程式 >上有个测试button内容部份如下:
(即按下此buttun会在B程式按下滑鼠左键,当然是要後台执行)
lParam的设定 ==> mPos = (x And &HFFFF) + (y And &HFFFF) * &H10000
'------------------------------------------------
PostMessage F_hWnd, WM_LBUTTONDOWN, 1, ByVal mPos
delay(0.1秒)
PostMessage F_hWnd, WM_LBUTTONUP, 1, ByVal mPos
'------------------------------------------------
< B程式 >
是自行写一个表单,上面有一个button
点击form(i=i+1)或点击到button(j=j+1)都会显示,例如i=1,j=3(这样应该可以测试有没有成功?)
< 遭遇到的问题如下 >
1. 座标点在form1范围,有反应,但是点击在Button则无反应,是否跟表单的父/子物件hWnd这方面有关?
2. 必须要在上述的程式段加个回圈(do loop个10次左右),在按A程式button时,B程式才会有反应
而且很怪的是按A程式的按键点击的时间似乎也有影响B程式会不会有反应!!?
请教板上的前辈 , 可否提醒或分享一下问题的方向在哪里呢??
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.220.247.236
1F:→ hayabusasean:用FindWindowEx,找记事本edit hwnd可在里面点击! 12/03 18:06
2F:推 DeathWatch:去抓spy++8 然後试着看看可不可以找到按钮的PIN CODE 12/03 22:21
3F:→ hayabusasean:谢谢你,我会试试 :) 12/04 08:53