Děkuji mockrát za odpovědi.Jinak celý kód vypadá takto:
Public Class Form1
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Private Const SM_CXSCREEN = 0
Private Const SM_CYSCREEN = 1
Private Declare Function GetCursorPos Lib "user32" (ByVal lpPoint As POINTAPI) As Long
Private Declare Function GetWindowRect Lib "user32" (ByVal hWnd As Long, ByVal lpRect As Rect) As Long
Private Declare Function GetMessageExtraInfo Lib "user32" () As Long
Structure POINTAPI
Dim x As Long
Dim y As Long
End Structure
Structure Rect
Dim Left As Long
Dim Right As Long
Dim Top As Long
Dim Bottom As Long
End Structure
Public Structure IntPtr
End Structure
Private Const MOUSEEVENTF_ABSOLUTE = &H8000
Private Const MOUSEEVENTF_LEFTDOWN = &H2
Private Const MOUSEEVENTF_LEFTUP = &H4
Private Const MOUSEEVENTF_MOVE = &H1
Private Const MOUSEEVENTF_MIDDLEDOWN = &H20
Private Const MOUSEEVENTF_MIDDLEUP = &H40
Private Const MOUSEEVENTF_RIGHTDOWN = &H8
Private Const MOUSEIVENTF_RIGHTUP = &H10
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)
Dim tRect As Rect
Dim tPoint As POINTAPI
Dim X As Long
Dim Y As Long
Dim tCil As POINTAPI
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
X = GetSystemMetrics(SM_CXSCREEN)
Y = GetSystemMetrics(SM_CYSCREEN)
End Sub
Private Sub cmbtnCil_Click(ByVal hWnd As Long)
GetWindowRect(cmbtnCil., tRect)
With tRect
tCil.x = (.Left + (.Right - .Left) / 2) * (65535 / Y)
tCil.y = (.Top + (.Bottom - .Top) / 2) * (65535 / Y)
End With
mouse_event(MOUSEEVENTF_MOVE Or MOUSEEVENTF_ABSOLUTE, tCil.x, tCil.y, 0, GetMessageExtraInfo)
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, GetMessageExtraInfo)
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, GetMessageExtraInfo)
End Sub
End Class
Chtěl bych se naučit používat API funkce, tak proto ty obstrukce. Budu vděčný za další odpovědi. Marcel
|