台灣最大程式設計社群網站
線上人數
2058
 
會員總數:245912
討論主題:189503
歡迎您免費加入會員
討論區列表 >> VB6 >> 模擬滑鼠UP失效
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
模擬滑鼠UP失效
價值 : 10 QP  點閱數:440 回應數:1
樓主

Jacky Ho
門外漢
0 1
12 1
發送站內信

小弟不才,近日因公司需求剛學習VB,在練習途中發生一點小弟無法解決的問題
望請各位大大幫忙一下

況狀:滑鼠可接收到訊息WM_LBUTTONDOWN,並且正常的按下左鍵
   但神奇的是WM_LBUTTONUP永遠接收不到,變成整個是拖曳
   而且一般視窗是可以的,唯獨發生在安卓模擬器(夜神)的視窗
   無法正常點擊模擬器的桌面APP圖示,會變成拖曳

以下是小弟不才的寫法
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As IntPtr, ByVal wMsg As IntPtr, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr

Private Const MOUSEEVENTF_MOVE = &H200 '移動鼠標
Private Const WM_LBUTTONDOWN = &H201
Private Const WM_LBUTTONUP = &H202

Function Move_ClickDownUp(hwnd As IntPtr, xx As Integer, yy As Integer, slsec As Integer)

Dim wMsg As Long, wParam As Long, lParam As Long
wParam = 1
lParam = yy * 65536 + xx
Call SendMessage(hwnd, WM_LBUTTONDOWN, wParam, lParam) '發送消息
Sleep(slsec)
Call SendMessage(hwnd, WM_LBUTTONUP, wParam, lParam) '發送消息
Sleep(slsec)

End Function

Call Move_ClickDownUp(hwnd, 97, 210, 100)

我也有試著加上MOVETO來試試
Call SendMessage(hwnd, MOUSEEVENTF_MOVE, wParam, lParam) '發送消息
無論是穿插在WM_LBUTTONDOWN上面還是WM_LBUTTONUP下面,甚至是中間或是通通穿插都試過了

左鍵能正常點擊,應該不是局部性或全局性問題吧?還沒自學到用鉤子...
延遲秒數從10毫秒.20.50.100.200.500都試過了,應該也不是延遲問題
postMessage跟SendMessage兩種方式也都試過了
真的不知道是怎麼回事了....請各位大大協助阿...

搜尋相關Tags的文章: [ 滑鼠 ] , [ 右鍵 ] , [ 失效 ] , [ 模擬器 ] , [ SendMessage ] , [ postMessage ] ,
本篇文章發表於2019-03-24 01:25
1樓
作者回應

Jacky Ho
檢舉此回應
本篇文章回覆於2019-03-24 19:54
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.