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.


Comments
Hi a, ngày mới v.v
ReplyDeletea cảm ơn e nhé, dạo này mất tích đâu vậy e?
Delete