Nói sơ về điều này, thì mọi người cùng biết công dụng của chương trình này rồi chứ, nó sẽ giúp cho người dùng thao tác một hành động trên window mà mình không cần phải làm, và nó được mình viết ra để giúp ít cho người dùng máy tính sữ dụng để tiện cho công việc hoặc những hoạt động khác trên máy tính.
FULL CODE.
Public Class Form1 <System.Runtime.InteropServices.DllImport("user32")> Private Shared Function GetAsyncKeyState(ByVal vKey As Integer) As Integer End Function WithEvents Timer As New System.Windows.Forms.Timer Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Timer.Enabled = True Timer.Interval = 50 Timer.Start() End Sub Private Sub TimerTick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer.Tick ' If CBool(GetAsyncKeyState(Keys.Alt)) And CBool(GetAsyncKeyState(Keys.A)) = True Then ' Microsoft.VisualBasic.Interaction.MsgBox("a & alt button was pressed.") If CBool(GetAsyncKeyState(Keys.F10)) Then 'start it lbl_showstate.ForeColor = Color.Green lbl_showstate.Text = "STARTED" timer_enter.Enabled = True timer_enter.Interval = Int(txtms.Text) timer_enter.Start() txtms.Enabled = False ElseIf CBool(GetAsyncKeyState(Keys.F11)) Then 'Stop it lbl_showstate.ForeColor = Color.Red lbl_showstate.Text = "STOPPED" timer_enter.Enabled = False timer_enter.Stop() txtms.Enabled = True End If End Sub Private Sub timer_enter_Tick(sender As Object, e As EventArgs) Handles timer_enter.Tick LeftClick() End Sub End Class
Nhìn lên phía trên các bạn cũng biết cần thay thêm và thay đổi dữ liệu gì rồi chứ.
lbl_showstate
: Label txtms
: TextBox
Tiếp theo các bạn tạo thêm một thẻ Module1
, và thêm đoạn code bên dưới vào.
Module Module1 Public 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 Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long Public Declare Function GetCursorPos Lib "user32" (ByVal lpPoint As POINTAPI) As Long Public Const MOUSEEVENTF_LEFTDOWN = &H2 Public Const MOUSEEVENTF_LEFTUP = &H4 Public Const MOUSEEVENTF_MIDDLEDOWN = &H20 Public Const MOUSEEVENTF_MIDDLEUP = &H40 Public Const MOUSEEVENTF_RIGHTDOWN = &H8 Public Const MOUSEEVENTF_RIGHTUP = &H10 Public Const MOUSEEVENTF_MOVE = &H1 Public Structure POINTAPI Dim x As Long Dim y As Long End Structure Public Function GetX() As Long Dim n As POINTAPI GetCursorPos(n) GetX = n.x End Function Public Function GetY() As Long Dim n As POINTAPI GetCursorPos(n) GetY = n.y End Function Public Sub LeftClick() LeftDown() LeftUp() End Sub Public Sub LeftDown() mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0) End Sub Public Sub LeftUp() mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0) End Sub Public Sub MiddleClick() MiddleDown() MiddleUp() End Sub Public Sub MiddleDown() mouse_event(MOUSEEVENTF_MIDDLEDOWN, 0, 0, 0, 0) End Sub Public Sub MiddleUp() mouse_event(MOUSEEVENTF_MIDDLEUP, 0, 0, 0, 0) End Sub Public Sub RightClick() RightDown() RightUp() End Sub Public Sub RightDown() mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0) End Sub Public Sub RightUp() mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0) End Sub Public Sub MoveMouse(ByVal xMove As Long, ByVal yMove As Long) mouse_event(MOUSEEVENTF_MOVE, xMove, yMove, 0, 0) End Sub Public Sub SetMousePos(ByVal xPos As Long, ByVal yPos As Long) SetCursorPos(xPos, yPos) End Sub End Module
Như vậy là xong, chúc mọi người thành công với thủ thuật trên.
Nhấn
F10
để bắt đầu nhấp và nhấn F10
để dừng nhấp.