وعليكم السلام و رحمة و بركاته ،،،
بالنسبه للضغط على اي جزء في الشاشة ممكن تستخدم ال model التالي :
كود :
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
طريقة الاستخدام :
كود :
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Call SetMousePos(100, 100) ' تحريك الماوس الى احداثي معين بالشاشة
Call LeftClick() ' يضغط زر الماوس
End Sub
يتبقى عليك فقط اذا اردت الضغط في شاشة برنامج معين ان تجعل شاشة البرنامج الاخر هي active على سطح المكتب ، لازم تكون ملم بعمليات Handles الخاص بالنوافذ و تجعل الشاشة المستهدفه فعاله
نقطه اخرى احب انبه عليها الكود لن يتم تفعيل الاكواد في وضعية تشغيل Debugs ، يعني تنشئ ملف EXE و تجربه خارج بيئة فيجول استديو