J'ai un petit projet en tête, que d'autres ont déjà réalisé, mais en largement plus complet...

Je n'ai besoin que d'une seule action, donc je préfère la créer moi-même.
Je vais faire donc au plus simple : j'essaye de contrôler une fenêtre avec send.
Exemple : un ALT+F pour afficher le menu "Fichier" du bon vieux notepad...
Ici, je décide de contrôler la fenêtre active, via l'icône de notification...
Voici mon script :
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <TrayConstants.au3>
Opt("TrayMenuMode", 3)
;~ HotKeySet("^!{UP}",_MoveThisWindow)
;~ HotKeySet("^!{DOWN}",_MoveThisWindow)
;~ HotKeySet("^!{LEFT}",_MoveThisWindow)
;~ HotKeySet("^!{RIGHT}",_MoveThisWindow)
$Action_Move = TrayCreateItem("action")
TrayCreateItem("") ; Create a separator line.
Local $SystrayEXIT = TrayCreateItem("Quitter")
TraySetState($TRAY_ICONSTATE_SHOW) ; Show the tray menu
While 1
Switch TrayGetMsg()
Case $SystrayEXIT ; Exit the loop.
Exit
case $Action_Move
_MoveThisWindow()
EndSwitch
WEnd
Func _MoveThisWindow()
$hWindow = WinGetHandle("[active]")
$title = WinGetTitle("[active]")
ConsoleWrite($title&@CRLF&$hWindow & @CRLF)
WinSetState($hWindow,"",@SW_MAXIMIZE) ; juste un test, pour voir si j'aggrandis la bonne fenêtre
Send("!f") ; le fameux ALT+F ^^
EndFunc
#include <WindowsConstants.au3>
#include <TrayConstants.au3>
Opt("TrayMenuMode", 3)
;~ HotKeySet("^!{UP}",_MoveThisWindow)
;~ HotKeySet("^!{DOWN}",_MoveThisWindow)
;~ HotKeySet("^!{LEFT}",_MoveThisWindow)
;~ HotKeySet("^!{RIGHT}",_MoveThisWindow)
$Action_Move = TrayCreateItem("action")
TrayCreateItem("") ; Create a separator line.
Local $SystrayEXIT = TrayCreateItem("Quitter")
TraySetState($TRAY_ICONSTATE_SHOW) ; Show the tray menu
While 1
Switch TrayGetMsg()
Case $SystrayEXIT ; Exit the loop.
Exit
case $Action_Move
_MoveThisWindow()
EndSwitch
WEnd
Func _MoveThisWindow()
$hWindow = WinGetHandle("[active]")
$title = WinGetTitle("[active]")
ConsoleWrite($title&@CRLF&$hWindow & @CRLF)
WinSetState($hWindow,"",@SW_MAXIMIZE) ; juste un test, pour voir si j'aggrandis la bonne fenêtre
Send("!f") ; le fameux ALT+F ^^
EndFunc
Et là, c'est le drame

Récapitulons ;
- J'affiche comme titre AutoIt v3 et comme handle 0x0000000000080966, à chaque fois...
- J’agrandis donc la fenêtre l'icône de notification (XD)
En gros : je contrôle pas le bon élément, puisqu'il détecte l'icone de notification, comme étant actif...
Question : comment faire pour que ce dernier ne soit pas systématiquement pris en compte ?
Réflexion : Dois-je, pour m'assurer de la bonne détection de la fenêtre active, liste les derniers fenêtres actifs, en excluant le titre et le handle d'AutoIt V3 ?
Merci d'avance pour vos lumières

PS : Pour info, je cherche juste à déplacer une fenêtre (active ici) sur un second écran, avec la combinaison WIn+Shift+Gauche (ou droite)
++