FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» 2D_fill_color
Cacher la barre des tâches - Page 2 Emptypar leclode Aujourd'hui à 8:44

» Consommation gaz électricité
Cacher la barre des tâches - Page 2 Emptypar leclode Mer 17 Avr 2024 - 11:07

» trop de fichiers en cours
Cacher la barre des tâches - Page 2 Emptypar lepetitmarocain Mer 17 Avr 2024 - 10:19

» on_key_down (résolu)
Cacher la barre des tâches - Page 2 Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
Cacher la barre des tâches - Page 2 Emptypar jjn4 Jeu 4 Avr 2024 - 14:42

» Bataille-navale
Cacher la barre des tâches - Page 2 Emptypar jjn4 Mer 3 Avr 2024 - 14:08

» Minimiser une fenêtre Panoramic.
Cacher la barre des tâches - Page 2 Emptypar Pedro Mar 2 Avr 2024 - 13:50

» Récapitulatif ludothèque panoramic jjn4
Cacher la barre des tâches - Page 2 Emptypar jjn4 Lun 1 Avr 2024 - 18:04

» demande explication KGF pour imprimer en mm
Cacher la barre des tâches - Page 2 Emptypar JL35 Jeu 28 Mar 2024 - 17:28

» Petit passage furtif
Cacher la barre des tâches - Page 2 Emptypar Froggy One Mer 27 Mar 2024 - 14:26

» SPIN et aide langage (résolu)
Cacher la barre des tâches - Page 2 Emptypar leclode Sam 23 Mar 2024 - 15:20

» Aide-mémoire des mots-clés Panoramic
Cacher la barre des tâches - Page 2 Emptypar papydall Mer 20 Mar 2024 - 21:23

» Je ne comprend pas pourquoi la largeur de la scene 3d change
Cacher la barre des tâches - Page 2 Emptypar Marc Mar 12 Mar 2024 - 20:06

» Comment télécharger panoramic?
Cacher la barre des tâches - Page 2 Emptypar lepetitmarocain Sam 9 Mar 2024 - 13:31

» @lepetitmarocain <==> KGFGrid
Cacher la barre des tâches - Page 2 Emptypar Klaus Dim 3 Mar 2024 - 9:59

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2024
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
2930     
CalendrierCalendrier
Le Deal du moment : -28%
Brandt LVE127J – Lave-vaisselle encastrable 12 ...
Voir le deal
279.99 €

 

 Cacher la barre des tâches

Aller en bas 
+2
Klaus
JL35
6 participants
Aller à la page : Précédent  1, 2, 3  Suivant
AuteurMessage
papydall

papydall


Nombre de messages : 6989
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Cacher la barre des tâches - Page 2 Empty
MessageSujet: Re: Cacher la barre des tâches   Cacher la barre des tâches - Page 2 EmptyDim 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
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Cacher la barre des tâches - Page 2 Empty
MessageSujet: Re: Cacher la barre des tâches   Cacher la barre des tâches - Page 2 EmptyDim 20 Mai 2018 - 13:52

Pour s'amuser,

La version JL35 animée par mes soins Very Happy

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+
Revenir en haut Aller en bas
silverman

silverman


Nombre de messages : 968
Age : 51
Localisation : Picardie
Date d'inscription : 18/03/2015

Cacher la barre des tâches - Page 2 Empty
MessageSujet: Re: Cacher la barre des tâches   Cacher la barre des tâches - Page 2 EmptyDim 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 Cool
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 cheers cheers cheers

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 Very Happy
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 6989
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Cacher la barre des tâches - Page 2 Empty
MessageSujet: Re: Cacher la barre des tâches   Cacher la barre des tâches - Page 2 EmptyDim 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$  Question  Question  Question

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 .
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
silverman

silverman


Nombre de messages : 968
Age : 51
Localisation : Picardie
Date d'inscription : 18/03/2015

Cacher la barre des tâches - Page 2 Empty
MessageSujet: Re: Cacher la barre des tâches   Cacher la barre des tâches - Page 2 EmptyDim 20 Mai 2018 - 15:45

papydall a écrit:
Le code est en Delphi et non en, VB !.
Embarassed

Citation :
StrPAS$  Question Question Question
C'est une 'fnc' qui réalise un simple 'trim$()' et donc renvoie une chaine de caractère, c'est pour cela qu'il y a un '$' à la fin. J'ai utilisé ce nom pour la 'fnc' afin de "coller" au plus près de ce que j'ai vu dans le lien que tu as posté.

Citation :
La valeur de Child% reste désespérément nulle !
Je n'ai pas ce problême, ça fonctionne parfaitement chez moi. J'ai fidèlement retranscris le code, alors c'est peut être dû à la version de windows... Suspect
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 6989
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Cacher la barre des tâches - Page 2 Empty
MessageSujet: Re: Cacher la barre des tâches   Cacher la barre des tâches - Page 2 EmptyDim 20 Mai 2018 - 16:21

Tout à l’heure j’ai répondu trop vite concernant la ligne 22  Embarassed

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).
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
silverman

silverman


Nombre de messages : 968
Age : 51
Localisation : Picardie
Date d'inscription : 18/03/2015

Cacher la barre des tâches - Page 2 Empty
MessageSujet: Re: Cacher la barre des tâches   Cacher la barre des tâches - Page 2 EmptyDim 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
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 6989
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Cacher la barre des tâches - Page 2 Empty
MessageSujet: Re: Cacher la barre des tâches   Cacher la barre des tâches - Page 2 EmptyDim 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.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Cacher la barre des tâches - Page 2 Empty
MessageSujet: Re: Cacher la barre des tâches   Cacher la barre des tâches - Page 2 EmptyDim 20 Mai 2018 - 18:47

Au lieu de "button", essaie "Button" ou "TButton"... ce sera plus proche de ce que fait Windows.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
papydall

papydall


Nombre de messages : 6989
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Cacher la barre des tâches - Page 2 Empty
MessageSujet: Re: Cacher la barre des tâches   Cacher la barre des tâches - Page 2 EmptyDim 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 !
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Cacher la barre des tâches - Page 2 Empty
MessageSujet: Re: Cacher la barre des tâches   Cacher la barre des tâches - Page 2 EmptyLun 21 Mai 2018 - 0:28

Peux-tu poster les fichiers annexes (DPR, DFM etc) ?
Ou, mieux: le projet complet dans un ZIP ?
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
papydall

papydall


Nombre de messages : 6989
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Cacher la barre des tâches - Page 2 Empty
MessageSujet: Re: Cacher la barre des tâches   Cacher la barre des tâches - Page 2 EmptyLun 21 Mai 2018 - 0:37

@Klaus

C'est fait !
Sur mon Webdav TaskBar.zip.
Merci pour ton intérêt .
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Cacher la barre des tâches - Page 2 Empty
MessageSujet: Re: Cacher la barre des tâches   Cacher la barre des tâches - Page 2 EmptyLun 21 Mai 2018 - 0:42

Merci à toi. Je vais regarder.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Cacher la barre des tâches - Page 2 Empty
MessageSujet: Re: Cacher la barre des tâches   Cacher la barre des tâches - Page 2 EmptyLun 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.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
papydall

papydall


Nombre de messages : 6989
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Cacher la barre des tâches - Page 2 Empty
MessageSujet: Re: Cacher la barre des tâches   Cacher la barre des tâches - Page 2 EmptyLun 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 !
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Cacher la barre des tâches - Page 2 Empty
MessageSujet: Re: Cacher la barre des tâches   Cacher la barre des tâches - Page 2 EmptyLun 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.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
JL35




Nombre de messages : 7093
Localisation : 77
Date d'inscription : 29/11/2007

Cacher la barre des tâches - Page 2 Empty
MessageSujet: Re: Cacher la barre des tâches   Cacher la barre des tâches - Page 2 EmptyLun 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
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4566
Age : 57
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Cacher la barre des tâches - Page 2 Empty
MessageSujet: Re: Cacher la barre des tâches   Cacher la barre des tâches - Page 2 EmptyLun 21 Mai 2018 - 10:41

Salut JL35 !

Ton programme fonctionne uniquement si la barre des taches est en bas de l'écran, sinon... Suspect affraid scratch Exclamation Question
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
JL35




Nombre de messages : 7093
Localisation : 77
Date d'inscription : 29/11/2007

Cacher la barre des tâches - Page 2 Empty
MessageSujet: Re: Cacher la barre des tâches   Cacher la barre des tâches - Page 2 EmptyLun 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 scratch
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Cacher la barre des tâches - Page 2 Empty
MessageSujet: Re: Cacher la barre des tâches   Cacher la barre des tâches - Page 2 EmptyLun 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.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Minibug

Minibug


Nombre de messages : 4566
Age : 57
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Cacher la barre des tâches - Page 2 Empty
MessageSujet: Re: Cacher la barre des tâches   Cacher la barre des tâches - Page 2 EmptyLun 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. Suspect
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 ? scratch
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Cacher la barre des tâches - Page 2 Empty
MessageSujet: Re: Cacher la barre des tâches   Cacher la barre des tâches - Page 2 EmptyLun 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%))
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Cacher la barre des tâches - Page 2 Empty
MessageSujet: Re: Cacher la barre des tâches   Cacher la barre des tâches - Page 2 EmptyLun 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.  cheers

A+

Désolé Klaus, je t'ai doublé.
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 6989
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Cacher la barre des tâches - Page 2 Empty
MessageSujet: Re: Cacher la barre des tâches   Cacher la barre des tâches - Page 2 EmptyLun 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 ! Neutral
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Minibug

Minibug


Nombre de messages : 4566
Age : 57
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Cacher la barre des tâches - Page 2 Empty
MessageSujet: Re: Cacher la barre des tâches   Cacher la barre des tâches - Page 2 EmptyLun 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
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Contenu sponsorisé





Cacher la barre des tâches - Page 2 Empty
MessageSujet: Re: Cacher la barre des tâches   Cacher la barre des tâches - Page 2 Empty

Revenir en haut Aller en bas
 
Cacher la barre des tâches
Revenir en haut 
Page 2 sur 3Aller à la page : Précédent  1, 2, 3  Suivant
 Sujets similaires
-
» Faire apparaître PAnoramic_Editor dans la barre des tâches
» cacher un MAIN_MENU_POP
» on peut pas cacher un 3d_plane
» Tâches actives
» Lanceur de tâches

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: