作者chinoyan ()
看板Visual_Basic
标题Re: [VB6 ] 後台滑鼠,後台按键 PostMessage问题请教
时间Wed Dec 4 06:51:41 2013
※ 引述《hayabusasean (云湛)》之铭言:
: 目前正在写一个"前"台,模拟滑鼠键盘,自行输入脚本的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这方面有关?
是,主表单和BUTTON的HWND不同,你可以用SPY++查看即知
: 2. 必须要在上述的程式段加个回圈(do loop个10次左右),在按A程式button时,B程式才会有反应
: 而且很怪的是按A程式的按键点击的时间似乎也有影响B程式会不会有反应!!?
: 请教板上的前辈 , 可否提醒或分享一下问题的方向在哪里呢??
Private Const BM_CLICK = &HF5
SendMessage Hwnd, BM_CLICK, 0, 0
试试看,按钮的部份用BM_CLICK即可, 若是表单或图片则需用你的方法
--
████ █ ★ ████ █ █ █
█ █ █ █ █ █ 超 级 热 烈 欢 迎
█ ████ █ █ █ ████ █
█ █ █ █ ███★ █ █ 欢迎到嘉义版!
★███ █ █ █ █ █ █ █
讯驰电脑-路径 →
嘉义市林森西路496号 →
(05)2244-526 →
顺发斜对面
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.47.58.100
1F:推 hayabusasean:谢谢大大热情的帮忙~非常感谢!!,试试 :) 12/04 09:05
2F:推 hayabusasean:成功了~用spy++抓hWnd,再用前辈您说的command !!! 12/04 09:35