亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我知道了一個窗口的句柄,如何后臺模擬鼠標在句柄窗口內點擊呢

我知道了一個窗口的句柄,如何后臺模擬鼠標在句柄窗口內點擊呢

C#
胡子哥哥 2023-02-17 16:12:11
最好給個方法webwnd是句柄 X Y坐標public void WebClick(long WebhWnd ,long x,long y){  }求求大家了如果你知道有別的方法和模擬后臺點擊也可以回答好++++++++++++++++++++我脫光了給你(分)后面的帥哥 加點注釋好么[DllImport("user32.dll")] //導入控件這個我知道加下注釋 讓我理解下 剛剛介入這方面不是很懂謝謝了  我想了解意思 
查看完整描述

2 回答

?
ibeautiful

TA貢獻1993條經驗 獲得超6個贊

[DllImport("user32.dll")] 
static extern void mouse_event(MouseEventFlag flags, int dx, int dy, uint data, UIntPtr extraInfo); 
上邊是一個外部方法;
使用mouse_event時屏幕絕對坐標如何計算 

[DllImport("user32", EntryPoint="mouse_event")]  
public static extern void mouse_event (  
int dwFlags,  
int dx,  
int dy,  
int cButtons,  
int dwExtraInfo  
);  
MOOSE_EVENTF_ABSOLOTE:表明參數dX,dy含有規范化的絕對坐標。如果不設置此位,參數含有相對數據:相對于上次位置的改動位置。此標志可被設置,也可不設置,不管鼠標的類型或與系統相連的類似于鼠標的設備的類型如何。要得到關于相對鼠標動作的信息,參見下面備注部分。  
MOOSEEVENTFMOVE:表明發生移動。  
M00SEEVENTF_LEFTDOWN:表明接按下鼠標左鍵。  
M00SEEVENTF_LEFTUP:表明松開鼠標左鍵。  
MOOSEEVENTF_RIGHTDOWN:表明按下鼠標右鍵。  
MOOSEEVENTF_RIGHTUP:表明松開鼠標右鍵。  
MOOSEEVENTF_MIDDLEDOWN:表明按下鼠標中鍵。  
MOOSEEVENTF_MIDDLEUP:表明松開鼠標中鍵。  
MOOSEEVENTF_WHEEL:在Windows NT中如果鼠標有一個輪,表明鼠標輪被移動。移動的數量由dwData給出。  
dx:指定鼠標沿x軸的絕對位置或者從上次鼠標事件產生以來移動的數量,依賴于MOOSEEVENTF_ABSOLOTE的設置。給出的絕對數據作為鼠標的實際X坐標;給出的相對數據作為移動的mickeys數。一個mickey表示鼠標移動的數量,表明鼠標已經移動。  
dy:指定鼠標沿y軸的絕對位置或者從上次鼠標事件產生以來移動的數量,依賴于MOOSEEVENTF_ABSOLVTE的設置。給出的絕對數據作為鼠標的實際y坐標,給出的相對數據作為移動的mickeys數。  
dwData:如果dwFlags為MOOSEEVENTF_WHEEL,則dwData指定鼠標輪移動的數量。正值表明鼠標輪向前轉動,即遠離用戶的方向;負值表明鼠標輪向后轉動,即朝向用戶。一個輪擊定義為WHEEL_DELTA,即120。  
如果dwFlagsS不是MOOSEEVENTF_WHEEL,則dWData應為零。  
dwExtralnfo:指定與鼠標事件相關的附加32位值。應用程序調用函數GetMessgeExtrajnfo來獲得此附加信息。

看完幫助還是不知道怎么計算dx和dy,下面給出C++的代碼以供參考:
cursor.X = static_cast<unsigned short>( position.point.x * 65535 / pimpl->desktopSize.width ); 
cursor.Y = static_cast<unsigned short>( position.point.y * 65535 / pimpl->desktopSize.height );

 


查看完整回答
反對 回復 2023-02-20
?
慕姐8265434

TA貢獻1813條經驗 獲得超2個贊

告訴你可以使用API:PostMessage 達到目的
PostMessage(句柄,事件,參數1,參數2)
實例:
PostMessage(hWnd, WM_LBUTTONDOWN, MK_LBUTTON, MAKELONG(288, 455));
PostMessage(hWnd, WM_LBUTTONUP, MK_LBUTTON, MAKELONG(288, 455)); 
這里是坐標是控件內的相對坐標,控件左上角為0,0

查看完整回答
反對 回復 2023-02-20
  • 2 回答
  • 0 關注
  • 156 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號