VB點(diǎn)虐 模擬兩個(gè)鼠標(biāo) vb模擬鼠標(biāo)點(diǎn)擊

如何在VB點(diǎn)虐 中用程序控制鼠標(biāo)移動(dòng)和點(diǎn)擊

調(diào)用api

成都創(chuàng)新互聯(lián)公司從2013年開(kāi)始,先為建始等服務(wù)建站,建始等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為建始企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

在Visual Baisc點(diǎn)虐 中的聲明:

Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)

Public Const MOUSEEVENTF_LEFTDOWN = H2 '模擬鼠標(biāo)左鍵按下

Public Const MOUSEEVENTF_LEFTUP = H4 ’模擬鼠標(biāo)左鍵釋放

Public Const MOUSEEVENTF_MIDDLEDOWN = H20 '模擬鼠標(biāo)中間鍵按下

Public Const MOUSEEVENTF_MIDDLEUP = H40 '模擬鼠標(biāo)中間鍵釋放

Public Const MOUSEEVENTF_RIGHTDOWN = H8 '模擬鼠標(biāo)右鍵按下

Public Const MOUSEEVENTF_RIGHTUP = H10 '模擬鼠標(biāo)右鍵釋放

Public Const MOUSEEVENTF_MOVE = H1 '模擬鼠標(biāo)指針移動(dòng)

例:

mouse_event MOUSEEVENTF_LEFTDOWN,10,10,0,0

'在(10,10)模擬鼠標(biāo)左鍵按下

VB.NET模擬鼠標(biāo)問(wèn)題

Declare Sub mouse_event Lib "user32" Alias "mouse_event" (ByVal dwFlags As Integer, ByVal dx As Integer, ByVal dy As Integer, ByVal cButtons As Integer, ByVal dwExtraInfo As Integer)

Dim postion1 As New Point

mouse_event(H1 Or H8000, postion1.X * 65535 / 1366, postion1.Y * 65535 / 768, 0, 0)

'按絕對(duì)位置移動(dòng)鼠標(biāo)

'在鼠標(biāo)坐標(biāo)系統(tǒng)中,屏幕在水平和垂直方向上均勻分割成65535×65535個(gè)單元,

'當(dāng)前所用顯示屏分辨率為1366*768

'所以要進(jìn)行如上轉(zhuǎn)換

mouse_event(H2, 0, 0, 0, 0) '鼠標(biāo)左鍵按下

mouse_event(H4, 0, 0, 0, 0) '鼠標(biāo)左鍵彈起

msdn上有 mouse_event 的詳解,大致使用如上

VB中怎樣模擬鼠標(biāo)雙擊操作?

當(dāng)然可以啊。

使用API函數(shù)mouse_event可以模擬鼠標(biāo)事件,比如左鍵單擊、雙擊和右鍵單擊等。這個(gè)實(shí)例利用此函數(shù)產(chǎn)生了十分有趣的效果,無(wú)論鼠標(biāo)處于屏幕的任何位置,每隔一秒程序會(huì)使鼠標(biāo)在那個(gè)位置單擊或雙擊一次,這會(huì)給我們?cè)斐墒裁礃拥幕靵y呢?試一試就知道了。

先在程序中加入如下的聲明后,就能引用mouse_event函數(shù):

Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)

其中各個(gè)參數(shù)的意義如下表所示:

參數(shù) 意義

dwFlags Long,下表中標(biāo)志之一或它們的組合

dx,dy Long,根據(jù)MOUSEEVENTF_ABSOLUTE標(biāo)志,指定x,y方向的絕對(duì)位置或相對(duì)位置

cButtons Long,沒(méi)有使用

dwExtraInfo Long,沒(méi)有使用

dwFlags常數(shù) 意義

MOUSEEVENTF_MOVE H1,移動(dòng)鼠標(biāo)

MOUSEEVENTF_LEFTDOWN H2,模擬鼠標(biāo)左鍵按下

MOUSEEVENTF_LEFTUP H4,模擬鼠標(biāo)左鍵抬起

MOUSEEVENTF_RIGHTDOWN H8,模擬鼠標(biāo)右鍵按下

MOUSEEVENTF_RIGHTUP H10,模擬鼠標(biāo)右鍵抬起

MOUSEEVENTF_MIDDLEDOWN H20,模擬鼠標(biāo)中鍵按下

MOUSEEVENTF_MIDDLEUP H40,模擬鼠標(biāo)中鍵抬起

MOUSEEVENTF_ABSOLUTE H8000,標(biāo)示是否采用絕對(duì)坐標(biāo)

程序中我們這樣使用mouse_event函數(shù):

1、這里是鼠標(biāo)左鍵按下和松開(kāi)兩個(gè)事件的組合即一次單擊:

mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0

2、模擬鼠標(biāo)右鍵單擊事件:

mouse_event MOUSEEVENTF_RIGHTDOWN Or MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0

3、兩次連續(xù)的鼠標(biāo)左鍵單擊事件 構(gòu)成一次鼠標(biāo)雙擊事件:

mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0

mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0

如上面所示如果我們要使用兩個(gè)dwFlags常數(shù)的組合時(shí),可以用Or將其連接起來(lái)。本例中我們把dx,dy參數(shù)都設(shè)為0,是指每次模擬事件的位置是鼠標(biāo)的當(dāng)前位置,dx,dy在沒(méi)有使用MOUSEEVENTF_ABSOLUTE標(biāo)志時(shí)是相對(duì)于鼠標(biāo)當(dāng)前位置的坐標(biāo),如果設(shè)置為使用絕對(duì)坐標(biāo),則dx,dy是相對(duì)于屏幕的坐標(biāo)。

然后把這些語(yǔ)句放在Timer控件的Timer事件中,就能實(shí)現(xiàn)每一定間隔模擬一次鼠標(biāo)事件了。

說(shuō)明:我不是很會(huì)VC,所以只給出VB里面調(diào)用得方法。抱歉。

VB.NET 如何模擬鼠標(biāo)事件 - VB.NET -

錄制回放沒(méi)有問(wèn)題,可是在鼠標(biāo)移動(dòng)過(guò)程中怎么去捕獲,鼠標(biāo)進(jìn)行了單擊,還是雙擊呢.捕獲不到回放的時(shí)候不知道什么時(shí)候該單擊還是雙擊.

當(dāng)前標(biāo)題:VB點(diǎn)虐 模擬兩個(gè)鼠標(biāo) vb模擬鼠標(biāo)點(diǎn)擊
文章鏈接:http://bm7419.com/article24/ddejdje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、標(biāo)簽優(yōu)化、網(wǎng)站制作、營(yíng)銷型網(wǎng)站建設(shè)軟件開(kāi)發(fā)、網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)