[R] Raccourci mini/maximiser Firefox

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
AdrienMar
Niveau 1
Niveau 1
Messages : 14
Enregistré le : mer. 10 févr. 2016 15:03
Localisation : Nancy
Status : Hors ligne

[R] Raccourci mini/maximiser Firefox

#1

Message par AdrienMar »

Bonjour à tous !

Je sollicite votre aide précieuse car je bloque sur certaines notions que je ne maitrise pas...

L'idée est de faire un script qui "attend" l'appui sur une touche définie (la touche de raccourci que j'utilise) avec HotKeySet je crois,
puis, lors de l'appui sur cette touche, si Firefox est ouvert mais minimisé, le script le maximise et inversement, pour réduire et agrandir Firefox rapidement... Et si Firefox n'est pas ouvert, le script le lance...

Pour l'instant j'utilise Clavier+ (lors de l'appui sur la touche de raccourci, Clavier+ déplace ma souris sur l'icone Firefox dans la barre des tâches et clique dessus. Cette solution me convient moyennement car
- la souris se retrouve ds la barre des taches à chaque fois
- L'icone de Firefox change d'emplacement assez régulièrement, au gré des autres programmes ouverts avant lui... (donc parfois ça ouvre un autre programme à la place de mon navigateur)

Je me suis renseigné à propos de WinSetState, j'ai réussi à le faire marcher pour minimiser ou maximiser Firefox, mais uniquement en mettant le titre complet ( par exemple WinSetState("Portail Free - Mozilla Firefox","",@SW_MINIMIZE)
Mais je n'ai pas réussi à comprendre les hwnd et autres "string", ni comment les obtenir, ni comment les utiliser :lol:

Et pour finir, pour lancer Firefox, j'utilise ShellExecute("firefox.exe")

Merci beaucoup de m'aider, pour l'instant je vois pas trop comment meubler le script...

Bonne journée,
Adrien
Modifié en dernier par AdrienMar le mar. 28 juin 2016 22:43, modifié 1 fois.
Adrien

L'échec, c'est la réussite du con.
Seul le geek comprend pourquoi la peugeot 404 n'existe pas.
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Raccourci mini/maximiser Firefox  

#2

Message par orax »

Au lieu de Run(), on pourrait aussi utiliser ShellExecute() comme tu l'avais fait.
Je récupère le handle de la fenêtre dans $hWnd. Ensuite, je peux le réutiliser avec les autres fonctions Win* (WinSetState, WinSetState...). C'est plus pratique de faire comme ça.
WinGetHandle("[REGEXPTITLE:.+ - Mozilla Firefox$; CLASS:MozillaWindowClass]") va chercher une fenêtre dont le titre se termine par - Mozilla Firefox, et qui a une classe MozillaWindowClass.
Global Const $WIN_STATE_ACTIVE = 8

HotKeySet("{F4}", "_firefox")

While 1
   Sleep(10000)
WEnd

Func _firefox()
   Local $iState, $hWnd = WinGetHandle("[REGEXPTITLE:.+ - Mozilla Firefox$; CLASS:MozillaWindowClass]")
   If Not @error Then
      $iState = WinGetState($hWnd)
      If BitAND($iState, $WIN_STATE_ACTIVE) Then
         WinSetState($hWnd, "", @SW_MINIMIZE)
      Else
         WinActivate($hWnd)
         WinSetState($hWnd, "", @SW_MAXIMIZE)
      EndIf
   Else
      If Not ProcessExists("firefox.exe") Then Run("C:\Program Files (x86)\Mozilla Firefox\firefox.exe", "C:\Program Files (x86)\Mozilla Firefox", @SW_MAXIMIZE)
   EndIf
EndFunc   ;==>_firefox
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Avatar du membre
AdrienMar
Niveau 1
Niveau 1
Messages : 14
Enregistré le : mer. 10 févr. 2016 15:03
Localisation : Nancy
Status : Hors ligne

Re: [R] Raccourci mini/maximiser Firefox

#3

Message par AdrienMar »

Bonjour orax !

Merci beaucoup pour ton aide, c'est exactement ce qu'il me fallait...
Du coup, j'ai juste eu à coller un raccourci pour le démarrer en même temps que Windows, c'est impeccable !

Pour le hWnd j'ai toujours pas trop compris ni ce que c'est, ni comment l'utiliser mais je sais déjà comment le récupérer, c'est déjà pas mal...
Je vais me documenter la-dessus...

En tout cas, un grand merci à toi pour ton aide précieuse :)

Bonne journée,
Adrien
Adrien

L'échec, c'est la réussite du con.
Seul le geek comprend pourquoi la peugeot 404 n'existe pas.
Répondre