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
» Gestion d'un système client-serveur.
Cacher la barre des tâches - Page 2 Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
Cacher la barre des tâches - Page 2 Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
Cacher la barre des tâches - Page 2 Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
Cacher la barre des tâches - Page 2 Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Cacher la barre des tâches - Page 2 Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
Cacher la barre des tâches - Page 2 Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Cacher la barre des tâches - Page 2 Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Cacher la barre des tâches - Page 2 Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Cacher la barre des tâches - Page 2 Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Cacher la barre des tâches - Page 2 Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Cacher la barre des tâches - Page 2 Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Cacher la barre des tâches - Page 2 Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
Cacher la barre des tâches - Page 2 Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Cacher la barre des tâches - Page 2 Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
Cacher la barre des tâches - Page 2 Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment : -39%
Pack Home Cinéma Magnat Monitor : Ampli DENON ...
Voir le deal
1190 €

 

 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 : 7009
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 : 5950
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 : 7009
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 : 7009
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 : 7009
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 : 12301
Age : 75
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 : 7009
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 : 12301
Age : 75
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 : 7009
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 : 12301
Age : 75
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 : 12301
Age : 75
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 : 7009
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 : 12301
Age : 75
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 : 7095
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 : 7095
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 : 12301
Age : 75
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 : 12301
Age : 75
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 : 5950
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 : 7009
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: