Sur de nombreux forums j'ai vu que l'on pouvait contrôler sa souris n'importe où sous Windows
grâce à du code VBA (ici sous Excel).
Je place une copie de mon code à la fin du message.
Voici mon problème:
-le déplacement de la souris marche (jusque là je ne suis pas si impressionné)
-le clic souris ne fonctionne pas : si la fenêtre active est Excel alors le clic se fait mais sur aucune autre fenêtre.
Ma question est : Y'a-t-il une erreur dans ce code et pourquoi cela ne fonctionne pas ?
-------------------------------------------------------------------------------------------------------------
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)
Declare Function SetCursorPos Lib "user32" ( _
ByVal x As Long, _
ByVal y As Long) As Long
Private Declare Function GetActiveWindow Lib "user32" () As Long
Hum... le code marche très bien même sur un autre fenetre !
essayes ceci pour t'en convaincre :
=
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)
Declare Function SetCursorPos Lib "user32" ( _
ByVal X As Long, _
ByVal Y As Long) As Long
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Const SM_CXSCREEN = 0
Const SM_CYSCREEN = 1
Public Type POINTAPI
X As Long
Y As Long
End Type
Public Function ScreenResolution() As POINTAPI
ScreenResolution.X = GetSystemMetrics(SM_CXSCREEN)
ScreenResolution.Y = GetSystemMetrics(SM_CYSCREEN)
End Function
Sub test()
Call SetCursorPos(0, ScreenResolution.Y)
Call mouse_event(MOUSEEVENTF_LEFTDOWN + MOUSEEVENTF_ABSOLUTE, 0, 0, 0, 0)
End Sub
=
ce qui pointe la souris sur la barre demarrer de windows et fait un clique dessus, ce qui l'ouvre.