Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Cacher la barre des tâches | |
| | |
Auteur | Message |
---|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Cacher la barre des tâches Ven 18 Mai 2018 - 12:25 | |
| J'aimerais pouvoir cacher (et faire réapparaître) à volonté la barre des tâches Windows (dont d'ailleurs je ne me sers jamais), pour pouvoir en certaines occasions gagner 30 pixels d'écran en hauteur.
Je sais qu'il existe une fonction de user32.dll pour faire ça: ShowWindow, mais je n'arrive pas à formaliser les paramètres, apparemment deux au choix: SW_SHOW = 0: montrer, et SW_HIDE = 5: cacher.
Je pense que notre Grand Maître papydall, à la science infinie (mais non ce n'est pas du fayotage ni de la basse flatterie, c'est complètement désintéressé !) doit pouvoir faire ça en deux coups de cuiller à pot. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Cacher la barre des tâches Ven 18 Mai 2018 - 12:36 | |
| Un extrait de KGF.chm: dans la section "Fonctions de gestion des fenêtres"... | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Cacher la barre des tâches Ven 18 Mai 2018 - 13:07 | |
| | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Cacher la barre des tâches Ven 18 Mai 2018 - 16:32 | |
| Merci Klaus pour la solution avec KGF.dll, il y a au moins ça, je me la mets de côté. Et ça marche, la preuve : - Code:
-
TaskBar(0): ' cacher la barre des tâches PAUSE 5000 TaskBar(1): ' rétablir la barre des tâches TERMINATE
SUB TaskBar(onoff%) ' Cacher (onoff%=0) ou rétablir (onoff%=1) la barre des tâches DIM_LOCAL r% DLL_ON "C:\PANORAMIC\KGF\KGF.dll": ' <- à ajuster ! r% = DLL_CALL2("SetTaskBar",0,onoff%) DLL_OFF END_SUB J'aurais aimé pouvoir le faire avec un simple appel de user32, mais je n'arrive pas à mettre ça en forme (merci Jean Claude pour le lien, il y en a plein, mais je ne maîtrise pas la conversion en Panoramic !) | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Cacher la barre des tâches Ven 18 Mai 2018 - 17:23 | |
| Voici le code de la fonction dans la DLL. Comme tu vois, ce n'est pas juste deux ou trois lignes... - Code:
-
function SetTaskBar(act, par: integer):integer; stdcall; export; // ce code a été fourni par Papydall pour act=0 et act=1 ! const ABM_SETSTATE = $0000000a; // non déclaré en Delphi ! var ABData: TAppBarData; Flash: FLASHWINFO; abd: TAppBarData; begin result := -1; // try case act of 0: begin case par of 0: ShowWindow(FindWindow('Shell_TrayWnd',nil),SW_HIDE); // cacher la barre des tâches 1: ShowWindow(FindWindow('Shell_TrayWnd',nil),SW_RESTORE); // montrer la barre des tâches 2: begin if IsWindowVisible(FindWindow('SHELL_TRAYWND', nil)) then result := 1 else result := 0; exit; end; end; end; 1: begin case par of 0: begin // bloquer la barre des tâches ABData.cbSize := sizeof(tappbardata); ABData.hWnd := FindWindow('SHELL_TRAYWND', nil); ABData.lParam := LParam(0); SHAppBarMessage(ABM_SETSTATE, ABData); end; 1: begin // autohide la barre des tâches ABData.cbSize := sizeof(tappbardata); ABData.hWnd := FindWindow('SHELL_TRAYWND', nil); ABData.lParam := LParam(ABS_ALWAYSONTOP or ABS_AUTOHIDE); SHAppBarMessage(ABM_SETSTATE, ABData); end; 2: begin FillChar(abd, SizeOf(TAppBarData), 0); abd.cbSize := SizeOf(TAppBarData); if SHAppBarMessage(ABM_GETSTATE,abd)=ABS_AUTOHIDE then result := 1 else result := 0; exit; // GetWindowRect(GetDesktopWindow,wr); // GetWindowRect(FindWindow('Shell_TrayWnd',nil),tr); end; end; end; 2: begin case par of 0: begin // cacher le bouton du programme dans la barre des tâches ShowWindow(ApplicationHandle,SW_HIDE); end; 1: begin // montrer le bouton du programme dans la barre des tâches ShowWindow(ApplicationHandle,SW_SHOW); end; 2: begin if IsWindowVisible(ApplicationHandle) then result := 1 else result := 0; exit; end; end; end; 3: begin case par of 0: begin // stop flasher le bouton du programme dans la barre des tâches FillChar(Flash, SizeOf(Flash), 0); Flash.cbSize := SizeOf(Flash); Flash.hwnd := ApplicationHandle; Flash.uCount := 0; Flash.dwTimeOut := 0; Flash.dwFlags := FLASHW_STOP; FlashWindowEx(Flash); end; 1: begin // start flasher le bouton du programme dans la barre des tâches FillChar(Flash, SizeOf(Flash), 0); Flash.cbSize := SizeOf(Flash); Flash.hwnd := ApplicationHandle; Flash.uCount := 5000; Flash.dwTimeOut := 500; Flash.dwFlags := FLASHW_ALL; FlashWindowEx(Flash); end; end; end; end; result := 0; // except // end; end; exports SetTaskBar; D'ailleurs, pour code 0 et 1, l'implémentation est basée sur un indication de Papydall. | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Cacher la barre des tâches Ven 18 Mai 2018 - 18:24 | |
| Salut tout le monde. Il y a une astuce très simple pour faire disparaitre la barre de tâches. Voici comment procéder : 1) Cliquer avec le bouton droit de la souris sur la barre des tâches. 2) Choisir la commande Propriétés 3) Cochez la case Masquer automatiquement la barre des tâches puis validez par OK.La barre des tâches disparaît alors. 4) Pour la faire réapparaître, placez simplement le curseur de la souris tout en bas de l'écran. @JL35 - JL35 a écrit:
- Je pense que notre Grand Maître papydall, à la science infinie (mais non ce n'est pas du fayotage ni de la basse flatterie, c'est complètement désintéressé !) doit pouvoir faire ça en deux coups de cuiller à pot.
Désolé Maître JL35, je ne vois pas comment procéder, et comme Maître Klaus à une solution toute prête avec la célébrissime KGF.DLL, autant l’utiliser. | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Cacher la barre des tâches Ven 18 Mai 2018 - 19:00 | |
| Bon, eh bien il semble que ça ne soit pas aussi simple que je le pensais... Du coup je garde la solution Klaus dans ma collection de subs Et merci aussi à toi Grand Maître papydall pour ta mise au point ! | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Cacher la barre des tâches Ven 18 Mai 2018 - 20:12 | |
| | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Cacher la barre des tâches Ven 18 Mai 2018 - 20:57 | |
| Moi aussi mon cher Jean Claude j'ai cru que c'était assez simple pour nos spécialistes, avec seulement deux appels à user32.dll - chercher le handle de la barre avec la fonction handle("Shell_TrayWnd") - appeler "ShowWindow" avec ce handle, fonction 0 ou 5 pour montrer ou cacher... mais apparemment ce n'est pas aussi simple que ça... | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Cacher la barre des tâches Ven 18 Mai 2018 - 21:11 | |
| Bon, on a la KGF.DLL qui résout le problème... Même si on doit l'utiliser dans un code Panoramic ,uniquement pour masquer la barre des taches, c'est un peu lourd mais ça marche. A+ | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Cacher la barre des tâches Ven 18 Mai 2018 - 21:27 | |
| C'est bien ce que je me dis, ça marche très bien, mais ajouter tout kgf.dll à un exécutable uniquement pour ça, c'est un peu disproportionné.
| |
| | | silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: Cacher la barre des tâches Sam 19 Mai 2018 - 9:11 | |
| Ce n'est pas très compliqué de traduire le code dans le lien posté par jean-claude: - Code:
-
dim user32% user32%=2 LIBRARY user32%,"user32.dll"
' fonction : Retrieves a handle to the top-level window whose class name and window name match the specified strings function "FindWindow","FindWindowA",user32%,"II","stdcall"
' fonction : Changes the size, position, and Z order of a child, pop-up, or top-level window command "WindowPos","SetWindowPos",user32%,"IIIIIII","stdcall" :' <----- panoramic ne supporte pas plus de 6 paramètres, cette fonction en a besoin de 7 !!!
print "Cacher la barre des taches WINDOWS" : print CacherBarreTacheWindows() pause 1500
print "Montrer la barre des taches WINDOWS" : print MontrerBarreTacheWindows()
END Sub CacherBarreTacheWindows() dim_local TaskbarHandle , lpClassName$ , lpWindowName$ , TASKBAR_SHOW , TASKBAR_HIDE TASKBAR_SHOW = hex("40") TASKBAR_HIDE = hex("80") lpClassName$ = "Shell_traywnd" lpWindowName$ = "" PEEK_REVERSE
TaskbarHandle = FindWindow(PEEK32(ADR(lpClassName$)), PEEK32(ADR(lpWindowName$))) WindowPos TaskbarHandle, 0, 0, 0, 0, 0, TASKBAR_HIDE :' <----- panoramic ne supporte pas plus de 6 paramètres, cette fonction en a besoin de 7 !!! End_Sub Sub MontrerBarreTacheWindows() dim_local TaskbarHandle , lpClassName$ , lpWindowName$ , TASKBAR_SHOW , TASKBAR_HIDE TASKBAR_SHOW = hex("40") TASKBAR_HIDE = hex("80") lpClassName$ = "Shell_traywnd" lpWindowName$ = "" PEEK_REVERSE
TaskbarHandle = FindWindow(PEEK32(ADR(lpClassName$)), PEEK32(ADR(lpWindowName$))) WindowPos TaskbarHandle, 0, 0, 0, 0, 0, TASKBAR_SHOW :' <----- panoramic ne supporte pas plus de 6 paramètres, cette fonction en a besoin de 7 !!! End_Sub mais il ne peut pas marcher car panoramic ne supporte que 6 paramètres pour les LIBRARY/DLL_CALLx alors que l'on en a besoin de 7 pour l'appel de "SetWindowPos". Les commandes de LIBRARY ne sont pas la priorité de jack, donc ce code n'est pas près de fonctionner.
Dernière édition par silverman le Sam 19 Mai 2018 - 12:51, édité 2 fois | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Cacher la barre des tâches Sam 19 Mai 2018 - 10:53 | |
| Merci silverman pour tes explications. Dommage. C'est clair que ce n'est pas aussi simple que ce à quoi je rêvais au départ, un ou deux simples appels à user32.dll. Heureusement il y a la solution Kgf.dll, c'est lourd pour ne faire que ça, mais ça a au moins le mérite d'exister ! | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Cacher la barre des tâches Sam 19 Mai 2018 - 11:30 | |
| @JL35: Est-ce que tu crois qu'il serait utile que je fasse une micro-DLL ne contenant que cette fonction ? Je peux le faire - ce n'est pas compliqué.
Il y a quelques années, j'avais toute une collection de DLLs, organisée par thématiques. Mais comme on ne pouvait ouvrir qu'une seule DLL par DLL_ON, j'ai dû tout réunir dans une seule qui a bien grossi depuis. Mais techniquement, je pourrais le faire sans problème. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Cacher la barre des tâches Sam 19 Mai 2018 - 11:49 | |
| A tout hasard, je l'ai fait... J'ai placé TaskBar.dll dans le WebDav, dossier dlls. Il y a un léger changement de paramètres, du fait que la fonction n'exécute plus dans le contexte général de KGF.dll. La nouvelle syntaxe ext: - Code:
-
res% = dll_call3('SetTaskBar',handle_application,act%,par%) J'ai inséré un premier paramètre devant les deux paramètres existants, afin d'assurer le lien vers Panoramic. Voici une démo: - Code:
-
' test_TaskBar.bas
label montrer, cacher dim res% button 1 : top 1,10 : left 1,10 : caption 1,"Montrer" : on_click 1,montrer button 2 : top 2,10 : left 2,110 : caption 2,"Cacher" : on_click 2,cacher
dll_on "TaskBar.dll" end
montrer: res% = dll_call3("SetTaskBar",handle_application,1,0) return cacher: res% = dll_call3("SetTaskBar",handle_application,1,1) return | |
| | | silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: Cacher la barre des tâches Sam 19 Mai 2018 - 12:18 | |
| Sinon, j'ai trouvé ça et ça marche: - Code:
-
dim user32% user32%=2 LIBRARY user32%,"user32.dll"
' fonction : Retrieves a handle to the top-level window whose class name and window name match the specified strings function "FindWindow","FindWindowA",user32%,"II","stdcall"
' fonction : Sets the specified window's show state command "ShowWindow","ShowWindow",user32%,"II","stdcall"
CacherBarreTacheWindows() print "taskbar_show() = ",taskbar_show()
pause 1500
MontrerBarreTacheWindows() print "taskbar_show() = ",taskbar_show() END Sub CacherBarreTacheWindows() if variable("windowstaskbar_state")=0 dim windowstaskbar_state PEEK_REVERSE end_if dim_local TaskbarHandle , lpClassName$ , lpWindowName$ lpClassName$ = "Shell_traywnd" lpWindowName$ = ""
TaskbarHandle = FindWindow(PEEK32(ADR(lpClassName$)), PEEK32(ADR(lpWindowName$))) windowstaskbar_state=0 ShowWindow TaskbarHandle,0 End_Sub
Sub MontrerBarreTacheWindows() if variable("windowstaskbar_state")=0 dim windowstaskbar_state PEEK_REVERSE end_if dim_local TaskbarHandle , lpClassName$ , lpWindowName$ lpClassName$ = "Shell_traywnd" lpWindowName$ = ""
TaskbarHandle = FindWindow(PEEK32(ADR(lpClassName$)), PEEK32(ADR(lpWindowName$))) windowstaskbar_state=1 ShowWindow TaskbarHandle,5 End_Sub
fnc taskbar_show() if variable("windowstaskbar_state")=0 dim windowstaskbar_state PEEK_REVERSE end_if result windowstaskbar_state end_fnc EDIT : la piste de 'showwindow' était la bonne, du coup ce code correspond exactement à ta demande de départ
Dernière édition par silverman le Sam 19 Mai 2018 - 13:06, édité 1 fois | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Cacher la barre des tâches Sam 19 Mai 2018 - 12:57 | |
| Merci à tous les deux, c'est sympa ! Et j'e pense que cette opération peut intéresser d'autres personnes, surtout si les écrans sont un peu petits (portables) le gain de quelques pixels d'affichage est toujours intéressant.
Ceci dit, ta solution Klaus est très bien, mais nécessite quand même d'embarquer un module extérieur, si léger soit-il. Je la garde quand même sous le coude, et je regarde de plus près la solution silverman (qui n'est quand même pas d'une simplicité qui saute aux yeux !).
Il me semble avoir vu des scripts vbs (exécutables facilement sous Panoramic) qui font le boulot très simplement, mais je n'ai pas su les retranscrire... | |
| | | silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: Cacher la barre des tâches Sam 19 Mai 2018 - 13:14 | |
| Rassure toi JL35, c'est plus simple que ça en à l'air. (C'est la mise en place de 'showwindow' que tu a évoqué dans tion premier post) Il y a le chargement de la LIBRARY "user32" suivi de la configuration d'une 'function' et d'une 'command'. Ensuite, les subs font le boulot. La 'fnc' est optionnelle, elle est là pour connaître l'état de la 'taskbar' (visible/caché). Je peux traduire le code avec des 'dll_callx()' si tu préfères. | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Cacher la barre des tâches Sam 19 Mai 2018 - 13:27 | |
| Eh! je préfère nettement la solution des DLL_CALL a priori, ça me paraît plus simple... L'état actuel de la taskbar (Show/hide) est optionnel ! dans mon esprit le programme la cache une fois pour toutes (mais c'est vrai que pour bien faire il doit la rétablir en sortant...). Dans ma naïveté, je voyais seulement deux appels à user32.dll: 1) récupérer le handle de la taskbar ("Shell_TrayWnd") avec la fonction "FindWindow" 2) passer ce handle à la fonction "ShowWindow" avec le paramètre 0 (Hide) ou 5 (Show) mais ce n'est apparemment pas aussi simple ! | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Cacher la barre des tâches Sam 19 Mai 2018 - 13:33 | |
| Salut tout le monde. Mon problème était de déterminer le HANDE de la barre de tâches. Silvermann m’a donné l’idée de le faire à partir de LYBRARY. Du coup, ça devient facile de continuer non pas en appelant la fonction SetWindowPos qui nécessite 7 paramètres ce que Panoramic n’autorise pas, mais en appelant la fonction ShowWindowLe code suivant permet de cacher / montrer la barre de tâches. Mais le bouton Démarrer reste tout de même visible. Je vais tenter de le faire disparaître lui aussi. - Code:
-
rem ============================================================================ rem Cacher / Montrer la barre de tâches rem ============================================================================ rem Merci à Silverman pour l’astuce de retrouver le handle de la barre de tâches rem ============================================================================
HideTaskbar(GetTaskbarHandle()) print "La barre de tâches est cachée ... Elle réapparaitra dans 3 secondes" pause 3000 ShowTaskbar(TaskbarHandle%) print "La barre de tâches est à nouveau visible !"
end rem ============================================================================ FNC GetTaskbarHandle() if variable("TaskbarHandle%") = 0 then dim TaskbarHandle% dim_local lpClassName$ , lpWindowName$ , user32% user32% = 2 LIBRARY user32%,"user32.dll" function "FindWindow","FindWindowA",user32%,"II","stdcall" lpClassName$ = "Shell_traywnd" lpWindowName$ = "" PEEK_REVERSE TaskbarHandle% = FindWindow(PEEK32(ADR(lpClassName$)), PEEK32(ADR(lpWindowName$)))
result TaskbarHandle% End_FNC rem ============================================================================ SUB HideTaskbar(handle%) dim_local ret% dll_on "user32" ret% = dll_call2("ShowWindow",handle%,0) dll_off END_SUB rem ============================================================================ SUB ShowTaskbar(handle%) dim_local ret% dll_on "user32" ret% = dll_call2("ShowWindow",handle%,5) dll_off END_SUB rem ============================================================================
| |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Cacher la barre des tâches Sam 19 Mai 2018 - 13:38 | |
| Bon je me suis absenté quelques minutes et voilà que Silverman m’a devancé ! Au final, c’est presque la même solution que ta tienne. | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Cacher la barre des tâches Sam 19 Mai 2018 - 13:39 | |
| Merci à Klaus et Silverman, Voilà des solutions intéressantes. Je ne vais pas prendre partie pour l'une ou l'autre, car en fait et suivant son besoin on peut choisir. Concernant la solution utilisant "USER32", je me pose la question (je sais je suis parano) de savoir si un jour ou l'autre Microsoft ne la remplace pas dans son OS. Dans un cas extrême comme celui-ci, la DLL "TaskBar.dll" de Klaus fonctionnerait t'elle toujours ??? C'est une question de programmeur du dimanche En tous cas notre ami JL35 n'a plus que l'embarras du choix. A+ PS: Bonjour Papydall, on a posté en même temps. Je vais étudier ta solution.RE PS: je viens de tester la solution Papydall. C'est propre, ça marche, et c'est simple. Bravo ! | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Cacher la barre des tâches Sam 19 Mai 2018 - 14:06 | |
| Merci à tous pour vos solutions 'intégrées', c'est très bien comme ça. J'ai retrouvé aussi dans mes archives (répertoire 'UTIL' !) un module qui s'appelle Nircmd.exe et qui permet en ligne de commande (parmi un tas d'autres choses), donc en Execute_wait Panoramic, de cacher ou afficher une fenêtre Windows: nircmd.exe win hide class Shell_Traywnd : cacher la fenêtre Shell_Traywnd (barre des tâches) nircmd.exe win show class Shell_Traywnd : rétablir la fenêtre ( http://nirsoft.net/utils/nircmd2.html ) Mais c'est une ressource externe... | |
| | | silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: Cacher la barre des tâches Dim 20 Mai 2018 - 10:18 | |
| Et revoici le code avec des dll_callx(). J'ai supprimé la 'fnc' puisque tu n'en a pas besoin, du coup c'est plus clair: - Code:
-
PEEK_REVERSE :' c'est le standard windows, et comme il n'est pas actif par défaut, il faut l'activer. INDISPENSABLE !!!
CacherBarreTacheWindows() print "La barre des tâches est caché"
pause 1500
MontrerBarreTacheWindows() print "La barre des tâches est visible" END ' Sub CacherBarreTacheWindows() dim_local TaskbarHandle , lpClassName$ , lpWindowName$ , null lpClassName$ = "Shell_traywnd" lpWindowName$ = "" ' dll_on "user32" TaskbarHandle = dll_call2("FindWindowA" , PEEK32(ADR(lpClassName$)), PEEK32(ADR(lpWindowName$)) ) null = dll_call2("ShowWindow", TaskbarHandle , 0) dll_off End_Sub
Sub MontrerBarreTacheWindows() dim_local TaskbarHandle , lpClassName$ , lpWindowName$ , null lpClassName$ = "Shell_traywnd" lpWindowName$ = "" ' dll_on "user32" TaskbarHandle = dll_call2("FindWindowA" , PEEK32(ADR(lpClassName$)), PEEK32(ADR(lpWindowName$)) ) null = dll_call2("ShowWindow", TaskbarHandle , 5) dll_off End_Sub Il faudra veiller à fermer la dll en cours d'utilisation avant d'utiliser ces subs, ce que ne n'impose pas la version avec 'LIBRARY' | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Cacher la barre des tâches Dim 20 Mai 2018 - 11:57 | |
| Ah ben oui, je préfère nettement comme ça ! Merci silverman, t'es un chef ! Du coup j'ai repris ton code (faut bien que je mette mon grain de sel), et j'ai fait une seule routine, on ou off. Et j'ai remplacé les PEEK_REVERSE et PEEK(32) par la méthode à l'ancienne (j'avoue à ma honte que je suis sur une vieille version de l'éditeur). - Code:
-
TaskBar(0) PAUSE 2000 TaskBar(1) END
SUB TaskBar(of%) ' Barre de tâches Windows: of% = 0: cacher, of% = 1: montrer DIM_LOCAL TaskbarHandle,lpClassName$,lpWindowName$,null,lpc%,lpw%,ad% lpClassName$ = "Shell_traywnd" lpWindowName$ = "" ad% = ADR(lpClassName$) lpc% = 256*256*256*PEEK(ad%+3)+256*256*PEEK(ad%+2)+256*PEEK(ad%+1)+PEEK(ad%) ad% = ADR(lpWindowName$) lpw% = 256*256*256*PEEK(ad%+3)+256*256*PEEK(ad%+2)+256*PEEK(ad%+1)+PEEK(ad%) IF of% <> 0 THEN of% = 5: ' montrer DLL_ON "user32.dll" TaskbarHandle = DLL_CALL2("FindWindowA" , lpc%, lpw% ) null = DLL_CALL2("ShowWindow", TaskbarHandle , of%) DLL_OFF END_SUB | |
| | | Contenu sponsorisé
| Sujet: Re: Cacher la barre des tâches | |
| |
| | | | Cacher la barre des tâches | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |