Bonjour,
je souhaiterais pouvoir différencier lorsqu'un clic souris est effectué sur une icône, ou sur un endroit du bureau vide. qu'il soit un raccourci vers un programme quelconque, une image, etc... le but étant de bien différencier avant une action liée à un double clic, si il y a bel et bien un élément icône positionné aux mêmes coordonnées que le pointeur de la souris au moment du clic.
j'ai trouvé comment différencier un clic sur le bureau ou sur une fenêtre quelconque grâce à l'affichage du titre de celle ci, mais là j'avoue être à cours d'idées pour les icônes.
Merci d'avance à ceux qui auraient des idées pouvant m'aider.
[..] Détection d'une icône lors d'un clic gauche souris
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Détection d'une icône lors d'un clic gauche souris
Ceci devrait vous aidersyla a écrit :... le but étant de bien différencier avant une action liée à un double clic, si il y a bel et bien un élément icône positionné aux mêmes coordonnées que le pointeur de la souris au moment du clic.
Code : Tout sélectionner
#include <GuiListView.au3>
$hDesktop = ControlGetHandle("Program Manager", "", "[CLASS:SysListView32]")
$iCountItems = _GUICtrlListView_GetItemCount($hDesktop) [color=#008000] ; nombre d'icones[/color]
For $i = 0 To $iCountItems - 1
[color=#008000]; texte des icones[/color]
; $sIconText = _GUICtrlListView_GetItemText($hDesktop, $i)
[color=#008000]; position des icones ($aPos[0] et $aPos[1])[/color]
$aPos = _GUICtrlListView_GetItemPosition($hDesktop, $i)
[color=#008000] ; on peut aussi utiliser $aRect = _GUICtrlListView_GetItemRect($hDesktop, $i)
; position du rectangle ($aRect[0], $aRect[1], $aRect[2] et $aRect[3])[/color]
Next" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: [..] Détection d'une icône lors d'un clic gauche souris
Merci beaucoup Mikell pour la solution, elle marche super. il y a juste une dernière chose que je voudrais gérer... peut on faire le même test sur une autre fenêtre que le bureau ? je l'ai tenté en remplaçant "Program Manager" par "" pour indiquer la fenêtre active, mais il ne retourne aucun résultat.
Merci encore pour la solution sur le bureau...
Merci encore pour la solution sur le bureau...
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Détection d'une icône lors d'un clic gauche souris
Bien sûrsyla a écrit :peut on faire le même test sur une autre fenêtre que le bureau ?
Le bureau, ce n'est qu'une ListView dans une fenêtre de titre "Program Manager", créée par progman.exe.... l'info est facilement vérifiable avec l'autoitinfotool
Donc il suffit d'utiliser cet outil sur la fenêtre qui t'intéresse pour avoir les références équivalentes du controle ^^
Attention à la syntaxe dans les fonctions Control...
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: [Résolu] Détection d'une icône lors d'un clic gauche sou
Merci beaucoup pour toutes ces infos.
pour la détection à d'autres endroits que sur le bureau je garde cela pour plus tard, beaucoup de conditions à gérer et peu d'intérêt pour mon programme.
concernant le bureau le problème est donc résolu.
Merci encore à toi Mikell
pour la détection à d'autres endroits que sur le bureau je garde cela pour plus tard, beaucoup de conditions à gérer et peu d'intérêt pour mon programme.
concernant le bureau le problème est donc résolu.
Merci encore à toi Mikell

