Alors voici mon problème, comme mon titre l'indique j'aimerais fermer automatiquement les popups lors du navigation. Alors j'ai recherché comment pouvais-je y arriver.
Mon problème est que ces pages vont souvent par en arrière et s'accumulent avec le temps donc bien sûr l'idée principal est de définir la page internet principal (firefox) et d'éliminer les autres.
Ma solution :
1. Récupérer l'handle de la page principal.
2. Stocker la class de la page de la page principal. dans une variable je crois avoir réussis avec _WinAPI_GetClassName pour éviter
de fermer autre programme que firefox.
3. Comparer dans une boucle infinie tout ce qui est différent (!=) de l'handle et de la class et pour finir, fermer les popups si détecté.
#RequireAdmin
#include <WinAPI.au3>
#include <MsgBoxConstants.au3>
HotKeySet("{F4}", "open")
HotKeySet("{F5}", "down")
While 1
Sleep(700)
WEnd
Func open()
Local $c = run("C:\Program Files (x86)\Mozilla Firefox\firefox.exe")
WinWaitActive("Page de démarrage de Mozilla Firefox - Mozilla Firefox")
Global $hwnd= WinGetHandle("[active]")
Global $classed = _WinAPI_GetClassName($hwnd)
MsgBox(4096, "Get ClassName", "ClassName of " & $hwnd & ": " & _WinAPI_GetClassName($hwnd))
EndFunc
Func down()
Exit
EndFunc
#include <WinAPI.au3>
#include <MsgBoxConstants.au3>
HotKeySet("{F4}", "open")
HotKeySet("{F5}", "down")
While 1
Sleep(700)
WEnd
Func open()
Local $c = run("C:\Program Files (x86)\Mozilla Firefox\firefox.exe")
WinWaitActive("Page de démarrage de Mozilla Firefox - Mozilla Firefox")
Global $hwnd= WinGetHandle("[active]")
Global $classed = _WinAPI_GetClassName($hwnd)
MsgBox(4096, "Get ClassName", "ClassName of " & $hwnd & ": " & _WinAPI_GetClassName($hwnd))
EndFunc
Func down()
Exit
EndFunc
N'existe-t-il pas une fonction qui permet de tuer uniquement les fameux (child) du processus firefox dans le même sens que ProcessClose ?
Cordialement.
Urantia.