作者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