[R] Forcer une fenetre à ce mettre en arrière plan
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.
-
captainfranki
- Niveau 1

- Messages : 13
- Enregistré le : mar. 26 juil. 2011 17:04
- Status : Hors ligne
[R] Forcer une fenetre à ce mettre en arrière plan
Bonjour !
Je cherche actuellement à modifier les propriétés d'une fenêtre (qui n'est pas créer en autoit, enfin je ne pense pas :p) pour la forcer à rester TOUJOURS en arrière plan.
Après une rapide recherche sur google pour le faire via Windows, n'ayant pas trouvé de réponse je me tourne vers autoit qui me semble pouvoir faire cela ? (Sans savoir malheureusement comment faire ^^)
Aurriez-vous une piste à me proposer ou est-ce impossible ?
Merci !
Je cherche actuellement à modifier les propriétés d'une fenêtre (qui n'est pas créer en autoit, enfin je ne pense pas :p) pour la forcer à rester TOUJOURS en arrière plan.
Après une rapide recherche sur google pour le faire via Windows, n'ayant pas trouvé de réponse je me tourne vers autoit qui me semble pouvoir faire cela ? (Sans savoir malheureusement comment faire ^^)
Aurriez-vous une piste à me proposer ou est-ce impossible ?
Merci !
Modifié en dernier par captainfranki le jeu. 09 févr. 2012 22:34, modifié 1 fois.
- TommyDDR
- Modérateur

- Messages : 2130
- Enregistré le : mar. 22 juil. 2008 21:55
- Localisation : Nantes
- Status : Hors ligne
Re: [..] Forcer une fenetre à ce mettre en arrière plan
Pour la rendre TOUJOURS en arrière plan, je ne vois pas comment faire, je ne pense pas que ça soir possible à moins de passer toutes les autres en TOPMOST mais là... c'est du code de sauvage ^^.
Pour envoyer une fenêtre en arrière plan :
$HWND_BOTTOM = envoi la fenêtre en arrière plan
les -1 indiquent les nouvelles positions / tailles
mais on ne veut pas bouger donc BitOR($SWP_NOMOVE, $SWP_NOSIZE) qui indiquent qu'il ne faut pas tenir compte de la nouvelle position et taille.
Pour envoyer une fenêtre en arrière plan :
Code : Tout sélectionner
#include <Constants.au3>
#include <WinAPI.au3>
_WinAPI_SetWindowPos($Gui, $HWND_BOTTOM, -1, -1, -1, -1, BitOR($SWP_NOMOVE, $SWP_NOSIZE))les -1 indiquent les nouvelles positions / tailles
mais on ne veut pas bouger donc BitOR($SWP_NOMOVE, $SWP_NOSIZE) qui indiquent qu'il ne faut pas tenir compte de la nouvelle position et taille.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Forcer une fenetre à ce mettre en arrière plan
Qqe chose comme ça ne marcherait pas ?TommyDDR a écrit :Pour la rendre TOUJOURS en arrière plan, je ne vois pas comment faire
Code : Tout sélectionner
GUIRegisterMsg($WM_ACTIVATE, "_bottom")
Func _bottom($hWnd, $msg, $wParam, $lParam)
_WinAPI_SetWindowPos($Gui, $HWND_BOTTOM, -1, -1, -1, -1, BitOR($SWP_NOMOVE, $SWP_NOSIZE))
Return $GUI_RUNDEFMSG
EndFunc" 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 )
- TommyDDR
- Modérateur

- Messages : 2130
- Enregistré le : mar. 22 juil. 2008 21:55
- Localisation : Nantes
- Status : Hors ligne
Re: [..] Forcer une fenetre à ce mettre en arrière plan
J'entendais par "TOUJOURS" sans actions supplémentaires.
Et de toutes manières, il précise plus haut que ce n'est pas une de ses fenêtres (Donc pas de GUIRegisterMsg possible ^^)
Et de toutes manières, il précise plus haut que ce n'est pas une de ses fenêtres (Donc pas de GUIRegisterMsg possible ^^)
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Forcer une fenetre à ce mettre en arrière plan
Bourrin certes mais ça marche
Marrant, la fenêtre reste dessous mais elle reste active 
Code : Tout sélectionner
#Include <WinAPI.au3>
#include <Constants.au3>
Opt("WinTitleMatchMode", -2)
$hW = WinGetHandle("firefox")
While 1
_WinAPI_SetWindowPos($hW, $HWND_BOTTOM, -1, -1, -1, -1, BitOR($SWP_NOMOVE, $SWP_NOSIZE))
Wend" 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 )
- Jerome
- Niveau 9

- Messages : 661
- Enregistré le : mar. 07 avr. 2009 08:35
- Localisation : Picardie
- Status : Hors ligne
Re: [..] Forcer une fenetre à ce mettre en arrière plan
Coucou,
Si votre but est de ne plus voir la fenêtre en question, alors la fonction WinSetState est la.
Jérôme
Si votre but est de ne plus voir la fenêtre en question, alors la fonction WinSetState est la.
Jérôme
-
captainfranki
- Niveau 1

- Messages : 13
- Enregistré le : mar. 26 juil. 2011 17:04
- Status : Hors ligne
Re: [..] Forcer une fenetre à ce mettre en arrière plan
Bonjour !
Je vous REMERCIE de vos réponses,
j'avais effectivement essayer le WinSetState mais cela ne fonctionner pas (la fenetre réaparaisser ...).
Mais avec le script de mikell tout fonctionne parfaitement !
Merci à vous !
Je vous REMERCIE de vos réponses,
j'avais effectivement essayer le WinSetState mais cela ne fonctionner pas (la fenetre réaparaisser ...).
Mais avec le script de mikell tout fonctionne parfaitement !
Merci à vous !
- Tlem
- Site Admin

- Messages : 11830
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Forcer une fenetre à ce mettre en arrière plan
N'oubliez pas la balise [R] dans le titre de votre premier message si votre sujet est résolu.
Profitez en pour faire quelques efforts sur l'orthographe.
Merci
Profitez en pour faire quelques efforts sur l'orthographe.
Merci
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
- TommyDDR
- Modérateur

- Messages : 2130
- Enregistré le : mar. 22 juil. 2008 21:55
- Localisation : Nantes
- Status : Hors ligne
Re: [..] Forcer une fenetre à ce mettre en arrière plan
@Mikel : la fenêtre est juste envoyé en arrière plan, elle ne perd pas le focus
@captainfranki : Si vous utilisez le script de mikell, insérez y au moins un sleep dans la boucle.
PS : Cette méthode n'est pas digne d'un programmeur
@captainfranki : Si vous utilisez le script de mikell, insérez y au moins un sleep dans la boucle.
PS : Cette méthode n'est pas digne d'un programmeur
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
