scano93
Messages postés22Date d'inscriptionsamedi 4 septembre 2004StatutMembreDernière intervention29 avril 2005
-
14 janv. 2005 à 20:33
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
14 janv. 2005 à 23:29
Salut à tous,
Ce thème me semble être le meilleur pour mon problème. Je m'explique :
Existe-t-il des API, des constantes, ou tout ce que vous voulez, pour
pouvoir executer quelque chose (par exemple msgbox "Vous avez cliquer
la !") si on clique sur la form (simple ça, je connais) mais si on
clique aussi sur le bureau ! Par exemple, sur une fenêtre msn, quand on
clique pour la mettre en premier plan (on est hors du cadre de la
form), la msgbox s'affiche ! Partout, qu'on clique, tout court !
J'éspère que vous comprenez, parce que je vois pas comment expliquer
mieux.
Quoi qu'il en soit, je repose ma question : existe-t-il des api ou
autre pour que le prog, même si il n'est plus en premier plan, prenne
en compte les click de la souris ?
scano93
Messages postés22Date d'inscriptionsamedi 4 septembre 2004StatutMembreDernière intervention29 avril 2005 14 janv. 2005 à 20:48
Ouai, je connais cet api, mais il sert surtout à "envoyer" le curseur
de la souris à un endroit x , y, non ? comment peux-t-on s'en servir,
si c'est possible, pour que le programme gère les lcick même en dehors
de la form ?
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 201934 14 janv. 2005 à 21:10
tu confonds avec SetCursorPos qui permet de positionner le curseur à l'endroit où on veut.
ici on utilise GetCursorPos qui permet de connaître la position du curseur n'importe où sur l'écran. j'ai rajouté aussi le handle de ce qui se trouve sous la souris. et avec GeyAsyncKeyState on peut savoir si un bouton a été appuyé.
contrôle a ajouter: un Timer et 2 TextBox.
Private Type POINTAPI
X As Long
Y As Long
End Type
Private Declare Function WindowFromPoint Lib "user32" (ByVal xPoint As Long, ByVal yPoint As Long) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Sub Timer1_Timer()
Dim Pt As POINTAPI
Dim mWnd As Long
GetCursorPos Pt
Text1 = Pt.X & " - " & Pt.Y
mWnd = WindowFromPoint(Pt.X, Pt.Y)
Text2 = mWnd
If GetAsyncKeyState(1) < 0 Then Beep
End Sub
Daniel
Vous n’avez pas trouvé la réponse que vous recherchez ?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 14 janv. 2005 à 23:29
Et faudra mettre un timer tellement court pour surveiller la souris que ça va ruiner la CPU.
La seule methode correcte est celle indiquee par darunia, aucun timer et on laisse les performances intactes.