Avril 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 |
---|
papydall
Nombre de messages : 6989 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Cacher la barre des tâches Dim 20 Mai 2018 - 13:34 | |
| Salut tout le monde. Et moi ! Et moi ! Voici ma version de Cacher / montrer la barre de tâches - Code:
-
rem ============================================================================ rem Cacher / Monter la barre de tâches rem ============================================================================
dll_on "user32" CacherBarreTacheWindows() message "La barre des tâches est cachée"+ chr$(13) + "Seul le bouton DEMARRER reste visible" MontrerBarreTacheWindows() message "La barre des tâches est de nouveau visible." dll_off terminate rem ============================================================================ ' Obtenir le HANDLE de la barre de tâches FNC GetTaskbarHandle%() dim_local lpClassName$ , lpWindowName$ , null lpClassName$ = "Shell_traywnd" : lpWindowName$ = "" PEEK_REVERSE result dll_call2("FindWindowA" , PEEK32(ADR(lpClassName$)), PEEK32(ADR(lpWindowName$))) END_FNC rem ============================================================================ ' Cacher la barre de tâches ; le bouton DEMARRER reste visible ! SUB CacherBarreTacheWindows() dim_local ret% ret% = dll_call2("ShowWindow", GetTaskbarHandle%() , 0) END_SUB rem ============================================================================ ' Restaurer la barre de tâches SUB MontrerBarreTacheWindows() dim_local ret% ret% = dll_call2("ShowWindow", GetTaskbarHandle%() , 5) END_SUB rem ============================================================================
La barre de tâches possède 3 enfants : • ‘Button’ (le bouton Démarrer) • ‘ReBarWindow32’ (la partie centrale) • ‘TrayNotifyWnd’ (la partie de droite, avec l’heure) En déterminant leur HANDLE, on peut cacher / montrer ces enfants de la barre de tâches par la fonction ShowWindow. On peut également les déplacer à l’aide de la fonction MoveWindow. Zieutez cette page. Windows API Reference: Functions , c’est ici avec des exemples de codes en VB. Voici une autre page | |
| | | Jean Claude
Nombre de messages : 5948 Age : 69 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Cacher la barre des tâches Dim 20 Mai 2018 - 13:52 | |
| Pour s'amuser, La version JL35 animée par mes soins - Code:
-
' faire vibrer la barre des taches.
dim n%,t% label Close0 on_close 0,Close0
for n%=1 to 16 t%=t%+1 if t%>1 then t%=0 TaskBar(t%) PAUSE 60 next n% END
Close0: TaskBar(1):' pour remettre en service les paramètres de la barre des taches. RETURN
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
A+ | |
| | | silverman
Nombre de messages : 968 Age : 51 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: Cacher la barre des tâches Dim 20 Mai 2018 - 14:30 | |
| Et voici la traduction en panoramic du code VB du lien posté par papydall, pour retrouver le handle des enfants de la taskbar - Code:
-
' https://llb.developpez.com/taskbar/ PEEK_REVERSE
dim GW_CHILD% , GW_HWNDNEXT% dim SW_HIDE% , WM_CLOSE% , SW_MAXIMIZE% , SW_NORMAL% , SW_MINIMIZE% GW_CHILD% = 5 GW_HWNDNEXT% = 2 SW_HIDE% = 0 WM_CLOSE% = 16 SW_MAXIMIZE% = 3 SW_NORMAL% = 1 SW_MINIMIZE% = 6 ' dim Tray% , Child% , C$ C$=string$(127,chr$(0))
Tray% = FindWindow("Shell_traywnd" , "") Child% = GetWindow(Tray% , GW_CHILD%) while Child% <> 0 if GetClassName(Child%, PEEK32(ADR(C$)) , len(C$)) > 0 if upper$(StrPAS$(C$)) = "BUTTON" :' BUTTON / TRAYNOTIFYWND / REBARWINDOW32 exit_while end_if end_if Child% = GetWindow(Child% , GW_HWNDNEXT%) end_while
print child%
END FNC FindWindow(lpClassName$ , lpWindowName$) dll_on "user32" result dll_call2("FindWindowA" , PEEK32(ADR(lpClassName$)), PEEK32(ADR(lpWindowName$))) dll_off END_FNC
FNC GetWindow(hwnd% , ucmd%) dll_on "user32" result dll_call2("GetWindow" , hwnd% , ucmd%) dll_off END_FNC
FNC GetClassName(hWnd% , lpClassName% , nMaxCount%) dll_on "user32" result dll_call3("GetClassNameA" , hWnd%, lpClassName% , nMaxCount%) dll_off END_FNC
FNC ShowWindow(hWnd% , nCmdShow%) dll_on "user32" result dll_call2("ShowWindow" , hWnd% , nCmdShow%) dll_off END_FNC
FNC StrPAS$(lpString$) result trim$(lpString$) END_FNC
FNC SendMessage(hWnd% , Msg% , wParam% , lParam%) dll_on "user32" result dll_call4("SendMessageA", hWnd% , Msg% , wParam% , lParam%) dll_off END_FNC
FNC SetWindowText(hWnd% , lpString$) dll_on "user32" result dll_call2("SetWindowText" , hWnd% , PEEK32(ADR(lpString$))) dll_off END_FNC Le mariage PEEK32/FNC fait des merveilles, l'utilisation des dlls windows s'en retrouve grandement simplifiée EDIT : J'ai ajouté des 'fnc' pour s'amuser avec les effets amusants proposés dans le lien, au cas où des courageux auraient envie de retranscrire les codes | |
| | | papydall
Nombre de messages : 6989 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Cacher la barre des tâches Dim 20 Mai 2018 - 15:26 | |
| - Silverman a écrit:
- Et voici la traduction en panoramic du code VB du lien posté par papydall, pour retrouver le handle des enfants de la taskbar
Le code est en Delphi et non en, VB !. Et puis, je crains que la traduction est … incorrecte. Regarde la ligne 22 - Code:
-
if upper$(StrPAS$(C$)) = "BUTTON" …
StrPAS$ La valeur de Child% reste désespérément nulle ! Donc le HANDLE du CHILD n'a pas pu être déterminé. De toutes les façons, merci d'avoir tenté. Perso, je n'ai ni le temps, ni l'envi d'y mettre le nez pour cause personnelle. peut-être une autre fois . | |
| | | silverman
Nombre de messages : 968 Age : 51 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: Cacher la barre des tâches Dim 20 Mai 2018 - 15:45 | |
| | |
| | | papydall
Nombre de messages : 6989 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Cacher la barre des tâches Dim 20 Mai 2018 - 16:21 | |
| Tout à l’heure j’ai répondu trop vite concernant la ligne 22 - Silvermann a écrit:
- c'est peut être dû à la version de windows...
Je le pense aussi ! Je suis sous W7 /32 bits. J’ai essayé de déterminer le handle du bouton mais sans succès, alors que pour les deux autres enfants TRAYNOTIFYWND et REBARWINDOW32, c’est OK. J’ai pu cacher / montrer la zone centrale ainsi que la zone de notification de la barre de tâches (celle à droite). | |
| | | silverman
Nombre de messages : 968 Age : 51 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: Cacher la barre des tâches Dim 20 Mai 2018 - 16:44 | |
| Si ça fonctionne pour les autres "ClassName", alors c'est peut être la classe "button" qui as un nom différent dans les versions récentes de windows. Essaye avec cette boucle while modifié, elle affiche les "ClassName": - Code:
-
while Child% <> 0 if GetClassName(Child%, PEEK32(ADR(C$)) , len(C$)) > 0 if upper$(StrPAS$(C$)) = "BUTTON" :' BUTTON / TRAYNOTIFYWND / REBARWINDOW32 ' exit_while end_if end_if Child% = GetWindow(Child% , GW_HWNDNEXT%) print upper$(StrPAS$(C$)) end_while | |
| | | papydall
Nombre de messages : 6989 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Cacher la barre des tâches Dim 20 Mai 2018 - 16:58 | |
| J’ai téléchargé sur la page que j’ai indiquée ci-haut un ZIP en Delphi que j’ai compilé. En le testant, il permet de cacher / montrer la barre de tâches et /ou la partie centrale /ou la partie de droite, mais pas le bouton Démarrer.
C'est peut-être W7 qui est en cause.
Quelqu'un a-t-il testé sous un autre OS ?
EDIT
En Cochant la case Masquer automatiquement la barre des tâches de la commande Propriètés de la barre de tâches, toute la barre y compris le bouton Démarrer se cache. Peut-être que la classe "button" a changé d’identificateur. | |
| | | Klaus
Nombre de messages : 12274 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Cacher la barre des tâches Dim 20 Mai 2018 - 18:47 | |
| Au lieu de "button", essaie "Button" ou "TButton"... ce sera plus proche de ce que fait Windows. | |
| | | papydall
Nombre de messages : 6989 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Cacher la barre des tâches Dim 20 Mai 2018 - 19:13 | |
| @Klaus - Code:
-
{ ////// Programme réalisé par \\\\\\\ ///// \\\\\ /// LLB / DeuSSuM \\\ \\\ (llb44@free.fr) /// \\\\\ ///// \\\\\\\ ///////
Ce programme d'exemple a été créé par LLB/DeuSSuM (llb44@free.fr). Pour toute question, suggestion ou remarque, écrivez-moi !
Ce petit programme permet à l'utilisateur de modifier sa barre des tâches. Il n'est donné qu'à titre explicatif et est distribué gratuitement.
Vous pouvez bien sûr l'utiliser dans vos programmes, le modifier, le distribuer (dans sa forme d'origine), mais PAS le vendre !!!
Si vous le réutilisez, ce serait sympa de me le dire et de m'envoyer votre chef-d'oeuvre. Si vous trouvez ou connaissez d'autres astuces pour modifier quoi que ce soit dans la barre des tâches, faîtes-le moi savoir, notamment si vous arrivez à changer le nom du bouton "Démarrer".
Amusez-vous bien !
} unit main;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Menus;
type TFrmTaskBar = class(TForm) Combo: TComboBox; BtStMax: TButton; BtStMin: TButton; BtStHide: TButton; BtStShow: TButton; GroupBox1: TGroupBox; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; EdStx: TEdit; EdSty: TEdit; EdStW: TEdit; EdStH: TEdit; Button2: TButton; procedure EdStxExit(Sender: TObject); procedure BtStHideClick(Sender: TObject); procedure BtStShowClick(Sender: TObject); procedure BtStMaxClick(Sender: TObject); procedure BtStMinClick(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Déclarations privées } public { Déclarations publiques } end;
var FrmTaskBar: TFrmTaskBar;
implementation
{$R *.DFM}
procedure Task(ClassName: string;nCmdShow: Integer); // Affiche la partie spécifiée par ClassName // avec l'état donné par nCmdShow. // Pour connaître toutes les valeurs possibles de nCmdShow // voir dans l'unité Windows ou dans l'aide "SDK Windiows" var Child : hWnd; C : Array[0..127] of Char; Begin // C'est toute la barre des tâches ? If ClassName='Shell_TrayWnd'then begin ShowWindow(FindWindow('Shell_TrayWnd', NIL),nCmdShow); Exit; End; // Sinon, c'est un de ses enfants. Child := GetWindow(FindWindow('Shell_TrayWnd', NIL), GW_CHILD); While Child <> 0 do begin If GetClassName(Child, C, SizeOf(C)) > 0 Then If UpperCase(StrPAS(C)) = UpperCase(ClassName)then ShowWindow(Child,nCmdShow); Child := GetWindow(Child, GW_HWNDNEXT); end; end;
procedure TFrmTaskBar.EdStxExit(Sender: TObject); // Un TEdit a été changé -> on redessine le bouton démarrer. var Child : hWnd; C : Array[0..127] of Char; Begin Child := GetWindow(FindWindow('Shell_TrayWnd', NIL), GW_CHILD); While Child <> 0 do Begin If GetClassName(Child, C, SizeOf(C)) > 0 Then If UpperCase(StrPAS(C)) = 'BUTTON'then MoveWindow(Child,StrToInt(EdStx.Text),StrToInt(EdSty.Text), StrToInt(EdStW.Text),StrToInt(EdStH.Text),true); Child := GetWindow(Child, GW_HWNDNEXT); End; end;
procedure TFrmTaskBar.BtStHideClick(Sender: TObject); begin // Cache la partie sélectionnée Task(Combo.Text,SW_HIDE); end;
procedure TFrmTaskBar.BtStShowClick(Sender: TObject); begin // Affiche la partie sélectionnée en "normal" Task(Combo.Text,SW_NORMAL); end;
procedure TFrmTaskBar.BtStMaxClick(Sender: TObject); begin // Agrandit la partie sélectionnée Task(Combo.Text,SW_MAXIMIZE); end;
procedure TFrmTaskBar.BtStMinClick(Sender: TObject); begin // Réduit la partie sélectionnée Task(Combo.Text,SW_SHOWMINIMIZED); end;
procedure TFrmTaskBar.Button2Click(Sender: TObject); begin // FIN - au revoir ! ShowMessage('Ce programme d''exemple a été réalisé par LLB (llb44@free.fr). '+ 'Il est distribué gratuitement et avec ses sources. '+ 'Il ne peut-être en aucun cas vendu.'#13+ 'Merci de l''avoir utilisé.'); Close; end;
procedure TFrmTaskBar.FormCreate(Sender: TObject); var Child : hWnd; C : Array[0..127] of Char; Rect: TRect; // Position du menu démarrer Begin // On cherche d'abord la position et les dimensions du menu démarrer Child := GetWindow(FindWindow('Shell_TrayWnd', NIL), GW_CHILD); While Child <> 0 do begin If GetClassName(Child, C, SizeOf(C)) > 0 Then If UpperCase(StrPAS(C)) = 'BUTTON'then GetWindowRect(Child,Rect); Child := GetWindow(Child, GW_HWNDNEXT); end; // Et on les affecte aux TEdit EdStx.Text := '0'; EdSty.Text := '0'; EdStw.Text := IntToStr(Rect.Right-Rect.Left); EdSth.Text := IntToStr(Rect.Bottom-Rect.Top); end;
end.
J'ai compilé ce code DELPHI : à l'exécution tout est OK sauf le bouton qui n'est pas reconnu ! | |
| | | Klaus
Nombre de messages : 12274 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Cacher la barre des tâches Lun 21 Mai 2018 - 0:28 | |
| Peux-tu poster les fichiers annexes (DPR, DFM etc) ? Ou, mieux: le projet complet dans un ZIP ? | |
| | | papydall
Nombre de messages : 6989 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Cacher la barre des tâches Lun 21 Mai 2018 - 0:37 | |
| @Klaus
C'est fait ! Sur mon Webdav TaskBar.zip. Merci pour ton intérêt . | |
| | | Klaus
Nombre de messages : 12274 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Cacher la barre des tâches Lun 21 Mai 2018 - 0:42 | |
| Merci à toi. Je vais regarder. | |
| | | Klaus
Nombre de messages : 12274 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Cacher la barre des tâches Lun 21 Mai 2018 - 1:01 | |
| Je viens au rapport, avec le résultat de les analyses.
Sous mon W10, voici la liste des enfants de la barre des tâches, telle qu'elle devrait figurer dans la combo nommée Combo: Start TrayButton TrayDummySearchControl ReBarWindow32 TrayNotifyWnd
Voici son contenu actuel: Button TrayNotifyWnd ReBarWindow32 Shell_TrayWnd
Si tu remplaces Button par Start, tu peux agir sur le bouton de démarrage. Mais de manière générale, ce code n'est pas totalement compatible Windows 10, tel qu'il est. | |
| | | papydall
Nombre de messages : 6989 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Cacher la barre des tâches Lun 21 Mai 2018 - 2:09 | |
| Merci Klaus. Chez moi, sous W7 32 bits, le bouton Démarrer s’obstine à rester toujours visible. D’ailleurs, je n’arrive toujours pas à déterminer son handle. Ce dernier vaut toujours 0. Somme toute, la barre de tâches, qu’elle s’affiche ou qu’elle se cache m’importe peu ! | |
| | | Klaus
Nombre de messages : 12274 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Cacher la barre des tâches Lun 21 Mai 2018 - 8:41 | |
| Eh bin, modifie ta procédure Task comme suit: - Code:
-
procedure Task(ClassName: string;nCmdShow: Integer); // Affiche la partie spécifiée par ClassName // avec l'état donné par nCmdShow. // Pour connaître toutes les valeurs possibles de nCmdShow // voir dans l'unité Windows ou dans l'aide "SDK Windiows" var Child : hWnd; C : Array[0..127] of Char; Begin // C'est toute la barre des tâches ? If ClassName='Shell_TrayWnd'then begin ShowWindow(FindWindow('Shell_TrayWnd', NIL),nCmdShow); Exit; End; // Sinon, c'est un de ses enfants. Child := GetWindow(FindWindow('Shell_TrayWnd', NIL), GW_CHILD); While Child <> 0 do begin If GetClassName(Child, C, SizeOf(C)) > 0 Then begin showmessage(UpperCase(StrPAS(C))); If UpperCase(StrPAS(C)) = UpperCase(ClassName)then ShowWindow(Child,nCmdShow); end; Child := GetWindow(Child, GW_HWNDNEXT); end; end; Tu verras alors les noms des classes à utiliser sur ton syustème. Le problème est double: - d'abord, l'utilisation du bon nom de classe - ensuite, la gestion de cette classe n'est certainement pas adaptée à W10 dans pour tous les cas, et peut-être également W7 - à voir. | |
| | | JL35
Nombre de messages : 7093 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Cacher la barre des tâches Lun 21 Mai 2018 - 10:06 | |
| Un petit message subliminal à l'emplacement de la barre des tâches (pour donner une idée des applications possibles, image, texte, n'importe quoi): - Code:
-
DIM i%,a$ a$ = "Ceci est un message !" BORDER_HIDE 0: TOP 0,SCREEN_Y-30: WIDTH 0,SCREEN_X: HEIGHT 0,30 FONT_SIZE 0,20: FONT_BOLD 0: FONT_COLOR 0,180,0,0 i% = TEXT_WIDTH(a$,0) TaskBar(0): ' cacher la barre PRINT_LOCATE (SCREEN_X-i%)/2,-3: PRINT "Ceci est un message !" PAUSE 3000 TaskBar(1): ' restaurer la barre TERMINATE
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 | |
| | | Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Cacher la barre des tâches Lun 21 Mai 2018 - 10:41 | |
| | |
| | | JL35
Nombre de messages : 7093 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Cacher la barre des tâches Lun 21 Mai 2018 - 11:02 | |
| Salut Minibug, Certes ! mais il ne m'est pas venu à l'idée qu'elle pouvait être ailleurs qu'en bas de l'écran ? Et si ce n'est pas le cas, c'est facile à adapter ! Sauf évidemment si elle peut se balader n'importe où sur l'écran et que ce soit imprévisible | |
| | | Klaus
Nombre de messages : 12274 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Cacher la barre des tâches Lun 21 Mai 2018 - 11:04 | |
| La barre des tâches peut être en bas ou en haut de l'écran, ou à gauche ou droite. Ce sont les 4 positions possibles. | |
| | | Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Cacher la barre des tâches Lun 21 Mai 2018 - 11:24 | |
| - JL35 a écrit:
- Et si ce n'est pas le cas, c'est facile à adapter !
Certes, mais cela ne sera pas adapté automatiquement à chaque PC. A moins qu'il y est une possibilité de savoir comment est positionnée la barre de tache, et de gérer en conséquence sa position dans le programme ? | |
| | | Klaus
Nombre de messages : 12274 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Cacher la barre des tâches Lun 21 Mai 2018 - 11:37 | |
| Si l'on a le handle de la barre des tâches, on peut connaitre ses coordonnées avec l'API GetWindowRect. Cette API prend deux paramètres: - le handle de la fenêtre - l'adresse d'un tableau de 4 entiers qui sont, dans l'ordre: colonne du coin en haut à gauche, ligne du coin en haut à gauche, colonne du coin en bas à droite, ligne di coin en bas à droite. Donc, en Panoramic, ça donne ceci: - Code:
-
dim res%, rect%(3), hhhh% hhhh% = ... <======= handle de la fenêtre dll_on "User32.dll" res% = dll_call2("GetWindowRect",hhhh%,adr(rect%)) | |
| | | Jean Claude
Nombre de messages : 5948 Age : 69 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Cacher la barre des tâches Lun 21 Mai 2018 - 11:37 | |
| Je viens d'essayer le code de JL35 et celui de Papydall après avoir changer la position de ma barre des tâches. Pas de problème, ils fonctionnent tous les deux. A+ Désolé Klaus, je t'ai doublé. | |
| | | papydall
Nombre de messages : 6989 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Cacher la barre des tâches Lun 21 Mai 2018 - 13:52 | |
| @Klaus J’ai modifié la procédure Task comme tu l’as proposé. Compilation et exécution et le verdict : Sur mon système W7 / 21 bits les seules classes possibles sont : TRAYNOTIFYWND (la partie à droite de la barre de tâches REBARWINDOW32 (la partie centrale) Pas de BUTTON ! Tant pis ! | |
| | | Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Cacher la barre des tâches Lun 21 Mai 2018 - 14:31 | |
| Pour revenir sur ce que JL35 avait réalisé ce matin, c'est à dire de mettre un Form Panoramic sans bordure à la place de la barre de tâches pour afficher des messages ou toutes autres choses. Avec cette version, la fenêtre s'affiche à la position et la taille de la barre de tâches. - Code:
-
dim res% , rect%(3), TH% , lpCN$ , lpWN$ , lpc% , lpw% , ad% , px% , py% , h% , l%
LABEL menu lpCN$="Shell_traywnd" : ad%=ADR(lpCN$) lpc%=256*256*256*PEEK(ad%+3)+256*256*PEEK(ad%+2)+256*PEEK(ad%+1)+PEEK(ad%)
lpWN$="" : ad%=ADR(lpWN$) lpw%=256*256*256*PEEK(ad%+3)+256*256*PEEK(ad%+2)+256*PEEK(ad%+1)+PEEK(ad%) DLL_ON "user32.dll" TH% = DLL_CALL2("FindWindowA",lpc%,lpw% ) res% = dll_call2("GetWindowRect",TH%,adr(rect%)) DLL_OFF
IF SGN(rect%(0))=-1 THEN px%=0 : py%=0 : l%=rect%(0)*-1 : h%=rect%(3) : ' Barre sur le coté gauche IF rect%(2)>SCREEN_X THEN px%=rect%(2)-((rect%(2)-rect%(0))*2) : py%=0 : l%=rect%(0) : h%=rect%(3) : ' Barre sur le coté droit IF SGN(rect%(1))=-1 THEN px%=0 : py%=0 : l%=rect%(2) : h%=rect%(3)-rect%(1) : ' Barre en haut IF rect%(3)>SCREEN_Y THEN py%=rect%(1)-(rect%(3)-rect%(1)) : px%=0 : l%=rect%(2) : h%=rect%(3)-rect%(1) : ' Barre en bas
BORDER_HIDE 0 : LEFT 0,px% : TOP 0,py% : WIDTH 0,l% : HEIGHT 0,h% BUTTON 1 : LEFT 1,5 : TOP 1,5 : CAPTION 1,"QUITTER" : ON_CLICK 1,menu
END
menu: TERMINATE
| |
| | | 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
| |
| |
| |