當前位置:編程學習大全網 - 編程語言 - 請教,vb如何用鼠標模擬按鈕?

請教,vb如何用鼠標模擬按鈕?

VB模擬鼠標移動和點擊。

需要使用API函數

這段代碼需要壹個表單~~三個CommandButton,四個標簽框和壹個模塊。

註意:下面的代碼是Form1。

註:* * * * * * * * * * *[功能]* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *。

#如果是Win32,則

private Declare Sub mouse _ event Lib " user 32 "(ByVal dw flags為Long,ByVal dx為Long,ByVal dy為Long,ByVal cButtons為Long,ByVal dwExtraInfo為Long)

註意:參數列表

註意:dwflags - long是以下符號的組合。

註意:MOUSEEVENTF_ABSOLUTE

註意:dx和dy指定鼠標坐標系中的絕對位置。在鼠標坐標系中,屏幕是水平和垂直的。

註:垂直方向平均分為65535×65535個單元——MOUSEEVE。

註:NTF _移動

註意:移動鼠標

註意:MOUSEEVENTF_LEFTDOWN

註意:模擬按下鼠標左鍵。

註意:MOUSEEVENTF_LEFTUP

註意:模擬鼠標左鍵擡起。

註意:MOUSEEVENTF_RIGHTDOWN

註意:模擬鼠標右鍵的按下。

註意:MOUSEEVENTF_RIGHTUP

註意:模擬鼠標右鍵的按下。

註意:MOUSEEVENTF_MIDDLEDOWN

註意:模擬鼠標中鍵的按下。

註意:MOUSEEVENTF_MIDDLEUP

註意:模擬鼠標中鍵的按下。

註:dx

註意:Long,根據是否指定了MOUSEEVENTF_ABSOLUTE標誌,指定水平方向的絕對位置或相位。

註意:對於運動

註意:dy - long,根據是否指定了MOUSEEVENTF_ABSOLUTE標誌來指定vertical。

註:絕對位置或方向的相對運動。

註意:按鈕-長型,未使用。

註意:dwextrainfo-long,壹個通常不使用的值。使用GetMessageExtraInfo函數獲取

註意:這個值。可用值取決於特定的驅動程序。

#End If註意:WIN32

註意:* * * * * * * * * < & lt[EOF]& gt;& gt***********************************

Dim p1作為POINTAPI,p2作為POINTAPI

尺寸x

暗淡Y

Dim X1

Dim Y1

private Const mouse event f _ MOVE = & amp;H1

private Const mouse event f _ left down = & amp;氘

private Const mouse event f _ left up = & amp;H4

private Const mouse event f _ ABSOLUTE = & amp;H8000

私有子命令1_Click()

MsgBox“否”

末端接頭

私有子命令2_Click()

MsgBox“是”

末端接頭

私有子命令3_Click()

調用MoveCursor(p1,p2)註意:鼠標由命令1 -> >控制;命令2

mouse _ event mouse event f _ ABSOLUTE或MOUSEEVENTF_LEFTDOWN,X1,Y1,0,0

mouse _ event mouse event f _ ABSOLUTE或MOUSEEVENTF_LEFTUP,X1,Y1,0,0

末端接頭

私有子窗體_Load()

Dim rect5 As RECT

調用getwindowrect(Command1 . hwnd,rect5)註意:獲取command 1相對於屏幕的坐標。

p1.x = (rect5。左+右5。右)\ 2

p1。Y = (rect5。ToP + rect5。底部)\ 2

調用GetWindowRect(Command2.hwnd,rect5)

p2.x = (rect5。左+右5。右)\ 2

p2。Y = (rect5。ToP + rect5。底部)\ 2

Label1。Caption = p2.x

標簽2。標題= p2。Y

x = Label1。標題

Y =標簽2。標題

X1 = (65535 \ 1024) * x

Y1 = (65535 \ 768) * Y

標簽3。Caption = X1

標簽4。Caption = Y1

末端接頭

註意:以下代碼在模塊中。

RECT標牌

左等長

頂端壹樣長

壹樣長

底部壹樣長

結束類型

POINTAPI類型

x壹樣長

只要

結束類型

將函數SetCursorPos Lib“user 32”(ByVal x為Long,ByVal Y為Long)聲明為Long

將函數GetWindowRect Lib“user 32”(ByVal hwnd為Long,lpRect為Rect)聲明為Long

聲明子睡眠庫“kernel 32”(ByVal dw milliseconds壹樣長)

public Sub move cursor(FromP As point API,ToP As POINTAPI)

Dim stepx壹樣長,stepy壹樣長,k壹樣長

Dim i壹樣長,j壹樣長,sDelay壹樣長

stepx = 1

stepy = 1

i = (ToP.x - FromP.x)

如果我& lt0,則stepx = -1

我=(頂。Y - FromP。y)

如果我& lt0那麽stepy = -1

For i = FromP.x To ToP.x Step stepx

調用SetCursorPos(i,FromP。y)

睡眠(1)

接下來我

因為i = FromP。y到頂部。壹步壹步

調用SetCursorPos(ToP.x,I)

睡眠(1)

接下來我

末端接頭

  • 上一篇:led外露燈參數及特點
  • 下一篇:數控車床程序被禁用運動指令
  • copyright 2024編程學習大全網