Page 1 sur 1
[R] Masquer une fenêtre dans ALT+TAB
Posté : lun. 01 juil. 2013 11:52
par Utilisateur 4989 supprimé
Bonjour,
mikell m'avais fait un code pour masquer une icône en barre des tâches :
► Afficher le texte
Code : Tout sélectionner
Main()
Func Main()
AdlibRegister("Masquer_logs", 100)
Opt("WinTitleMatchMode", -2)
Global Const $sCLSID_TaskbarList = "{56FDF344-FD6D-11D0-958A-006097C9A090}"
Global Const $sIID_ITaskbarList = "{56FDF342-FD6D-11D0-958A-006097C9A090}"
Global Const $sTagITaskbarList = "HrInit hresult(); AddTab hresult(hwnd); DeleteTab hresult(hwnd); ActivateTab hresult(hwnd); SetActiveAlt hresult(hwnd);"
Global $oTaskbarList = ObjCreateInterface($sCLSID_TaskbarList, $sIID_ITaskbarList, $sTagITaskbarList)
$oTaskbarList.HrInit()
While 1
Global $handle = WinGetHandle("NOM D UNE FENETRE")
WEnd
EndFunc
Func Masquer_logs()
If BitAND(WinGetState($handle), 2) Then $oTaskbarList.DeleteTab($handle)
EndFunc
A partir de ce code, comment faire pour masquer la fenêtre dans ALT+TAB ? En plus de masquer l'icône en barre des tâches.
Merci d'avance pour votre aide.
Re: [..] Masquer une fenêtre dans ALT+TAB
Posté : lun. 01 juil. 2013 15:28
par mikell
ça devrait marcher (modif la boucle while dans Main() )
Code : Tout sélectionner
; Global Const $GWL_EXSTYLE = -20
; Global Const $WS_EX_TOOLWINDOW = 0x80
While 1
Global $handle = WinGetHandle("NOM D UNE FENETRE")
DllCall("user32.dll", "long", "SetWindowLong", "hwnd", $handle, "int", -20, "long", 0x80)
WEnd
Re: [..] Masquer une fenêtre dans ALT+TAB
Posté : lun. 01 juil. 2013 15:59
par Utilisateur 4989 supprimé
Merci, ça marche nickel.
Pourquoi il y a ceci ?
Code : Tout sélectionner
; Global Const $GWL_EXSTYLE = -20
; Global Const $WS_EX_TOOLWINDOW = 0x80
En faite, ce sujet concerne la fenêtre du "centre de mobilité Windows". J'ai créé un script qui affiche une infobulle dès que ma batterie est pleine pour que je débranche mon ordi du secteur (c'est pour un ordi portable). Le code fonctionne parfaitement mais le "centre de mobilité windows" doit être ouvert pour que mon script capte le pourcentage de la batterie affiché dans la fenêtre. J'ai mis de cacher la fenêtre, mais là le code ne capte plus le pourcentage, et en rabattant la fenêtre dans la barre des tâches, ça marche. Donc ce que je souhaite faire, c'est de lancer le "centre de mobilité Windows" (c'est fait), de masquer l'icône en barre des tâches (c'est fait) et de masquer la fenêtre dans ALT+TAB (d'où ce sujet).
Le petit problème avec ton code, c'est que je ne peux plus rabattre la fenêtre en barre des tâches.
Comment faire pour masquer la fenêtre dans ALT+TAB et pouvoir toujours la rabattre en barre des tâches ? Merci.
Re: [..] Masquer une fenêtre dans ALT+TAB
Posté : lun. 01 juil. 2013 16:21
par mikell
vla a écrit :Pourquoi il y a ceci ?
C'est juste une mention pour info des constantes utilisées dans le dllcall (où ya que les valeurs numériques)
vla a écrit :(...) la rabattre en barre des tâches
ça tu aurais pu le trouver dans le fichier d'aide
Re: [..] Masquer une fenêtre dans ALT+TAB
Posté : lun. 01 juil. 2013 16:36
par Utilisateur 4989 supprimé
Je connais ce code, mais je souhaiterais que le bouton réduire soit de nouveau disponible dans le "centre de mobilité Windows" pour que je puisse rabattre la fenêtre quand je le souhaite, et pas par un code.
Re: [..] Masquer une fenêtre dans ALT+TAB
Posté : jeu. 11 juil. 2013 09:54
par Utilisateur 4989 supprimé
Je viens de constater qu'avec ton code (
#p79268), il arrive parfois que la fenêtre du centre de mobilité soit déplacée en bas à gauche de mon écran (ou parfois en haut à gauche) en petite taille :
Du coup, pour rabattre le centre de mobilité, je dois le fermer ainsi que mon script, rouvrir le centre de mobilité, le rabattre et après lancer mon script.
Comment faire pour masquer le centre de mobilité dans ALT+TAB et avoir le bouton qui permet de rabattre en barre des tâches ?
Re: [..] Masquer une fenêtre dans ALT+TAB
Posté : jeu. 11 juil. 2013 13:46
par mikell
Le problème c'est que pour pouvoir masquer une fenêtre dans ALT+TAB il faut lui donner l'exstyle WS_EX_TOOLWINDOW, et dans ce cas une réduction donne l'aspect que tu décris
Re: [..] Masquer une fenêtre dans ALT+TAB
Posté : ven. 12 juil. 2013 11:56
par Utilisateur 4989 supprimé
OK. Pour éviter que la fenêtre soit comme à l'image ci-dessus, j'ai contourné le problème avec ce code :
Code : Tout sélectionner
Global $size_mblctr = WinGetPos("Centre de mobilité Windows")
If $size_mblctr[0] = 0 And $size_mblctr[1] = 833 Then
WinMove("Centre de mobilité Windows", "", 0, @DesktopHeight-1)
EndIf
Merci pour ton aide.
Sujet résolu.