PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Masquer la barre des taches windows
Masquer la barre des taches windows
Iniciado por crocejf2000, 09,nov. 2006 10:58 - 6 respuestas
Publicado el 09,noviembre 2006 - 10:58
Bonjour,

Depuis 2 jours, j'éssai de masquer la barre des taches windows mais sans aucun résulat.

J'ai trouvé 2/3 info, comme cacher la barre, mais ca ne résoud pas mon probleme car elle est juste cachée et l'application ne peut pas se maximiser entièrement (petite bande vide en bas de l'écran).
Pour la cacher :
AppelDLL32("User32", "ShowWindow", AppelDLL32("User32", "FindWindowA", "Shell_TrayWnd",Null), Faux) // Vrai pour l'afficher

Ce que je veut faire, c'est la masquer, comme si on avait coché le bouton "Masquer automatiquement la barre des taches" dans les propriétés.
J'ai éssayé :

dwMes est un entier
ABM_SETPOS est un entier = 3
ABM_GETTASKBARPOS est un entier = 5
ABM_SETAUTOHIDEBAR est un entier = 8

ABS_AUTOHIDE est un entier = 1 //0x0000001
ABS_ALWAYSONTOP est un entier = 2 //0x0000002

abd est un APPBARDATA
abd:cbSize = Dimension(abd)
abd:hWnd = AppelDLL32("User32", "FindWindowA", "Shell_TrayWnd", Null)

dwMes = ABS_AUTOHIDE
abd:lParam = True
API("SHELL32", "SHAppBarMessage", dwMes, &abd)

dwMes = ABS_ALWAYSONTOP
abd:lParam = False
API("SHELL32", "SHAppBarMessage", dwMes, &abd)

dwMes = ABM_SETAUTOHIDEBAR
abd:uEdge = 2
abd:lParam = False
API("SHELL32", "SHAppBarMessage", dwMes, &abd)

Mais la barre ne bouge pas d'un poil !!

Aurriez vous une autre piste ??? Merci a vous, Jean-François
Publicado el 09,noviembre 2006 - 11:38
Bonjour voila quelque chose qui devrait t'aider

PROCEDURE InitialiseBureau()
ResEcriture est un booléen
i, hndT, hndChild, hndP sont des entiers
TaskBar est une chaîne ASCIIZ sur 128 = "Shell_traywnd"
ProgMan est une chaîne ASCIIZ sur 128 = "Progman"
GW_CHILD est un entier = 5
GW_HWNDNEXT est un entier = 2

ClasseName est une chaîne ASCIIZ sur 128
WM_CLOSE est un entier = 0x0010

// LA BARRE DES TACHES et le boutton "Démarrer"
hndT = API( user32_dll, "FindWindowA", &TaskBar, Null)
IF hndT>0 THEN
// Suppression du bouton "Démarrer"
API( user32_dll, "EnumChildWindows", hndT, &KillStartButton, 0)
// Interdire les clic sur la barre
API( user32_dll, "EnableWindow", hndT, False)
// Ne plus voir la barre
API( user32_dll, "ShowWindow", hndT, 0)
ELSE
IF EnModeTest() THEN Erreur("Suppression de la barre de tâche impossible")
END

// LE BUREAU
hndP = API( user32_dll, "FindWindowA", &ProgMan, Null)
IF hndP>0 THEN
API(user32_dll, "EnableWindow", hndP, False)
API(user32_dll, "ShowWindow", hndP, 0)
END

PROCEDURE RestaureBureau()

i, hndT, hndP, RetEnum sont des entiers
TaskBar est une chaîne ASCIIZ sur 128 = "Shell_traywnd"
ProgMan est une chaîne ASCIIZ sur 128 = "Progman"
PROCESS_TERMINATE est un entier = 0x0001
nbProcess est un entier = 0
pProcessIds est un tableau de 10240 entiers
cb est un entier = 10240
PID est un entier = 0
hndProcess est un entier = 0
lpcbNeeded est un entier = 0
RetEnumProc est un entier = 0
lphModule est un entier = 0
lpExitCode est un entier = 0
RetKillProc est un entier = 0
cbp est un entier = 0
pBytesReturned est un entier = 0
lpBaseName est une chaîne ASCIIZ sur 1024

// LA BARRE DES TACHES
hndT = API(user32_dll, "FindWindowA", &TaskBar, Null)
IF hndT > 0 THEN
API( user32_dll , "ShowWindow", hndT, 1)
API( user32_dll, "EnableWindow", hndT, True)
END

// LE BUREAU
hndP = API(user32_dll, "FindWindowA", &ProgMan, Null)
IF hndP>0 THEN
API(user32_dll,"ShowWindow",hndP, 1)
API(user32_dll,"EnableWindow",hndP,True)
END

// Met Off Explorer il va se lancer tous seul
RetEnum = API(psapi_dll,"EnumProcesses",&pProcessIds, cb, &pBytesReturned)
IF RetEnum>0 THEN
nbProcess = pBytesReturned/4
FOR i=1 TO nbProcess
PID = pProcessIds[i]
IF PID <> 0 THEN
hndProcess = API(kernel32_dll,"OpenProcess",PROCESS_READINFO, False, PID)
IF hndProcess <> 0 THEN
RetEnumProc = API(psapi_dll, "EnumProcessModules", hndProcess,
&lphModule, cbp, &lpcbNeeded)
IF RetEnumProc <> Null THEN
cbp = lpcbNeeded
RetEnumProc = API(psapi_dll, "EnumProcessModules", hndProcess,
&lphModule, cbp, &lpcbNeeded)
IF RetEnumProc <> Null THEN
API(psapi_dll,"GetModuleBaseNameA",hndProcess,lphModule,&lpBaseName,1023)
IF Majuscule(SansEspace(lpBaseName))="EXPLORER.EXE" THEN
IF API(kernel32_dll,"GetExitCodeProcess", hndProcess, &lpExitCode) <>
0 THEN
RetKillProc = API(kernel32_dll,"TerminateProcess",hndProcess,
lpExitCode)
END
END
END
END
API(kernel32_dll,"CloseHandle",hndProcess)
END
END
END
END



"CROCE Jean-FRançois" <crocejf2000@yahoo.fr> a écrit dans le message de
news: 4552ecb3$1@news.pcsoft.fr...


Bonjour,

Depuis 2 jours, j'éssai de masquer la barre des taches windows mais sans
aucun résulat.

J'ai trouvé 2/3 info, comme cacher la barre, mais ca ne résoud pas mon
probleme car elle est juste cachée et l'application ne peut pas se
maximiser entièrement (petite bande vide en bas de l'écran).
Pour la cacher :
AppelDLL32("User32", "ShowWindow", AppelDLL32("User32", "FindWindowA",
"Shell_TrayWnd",Null), Faux) // Vrai pour l'afficher

Ce que je veut faire, c'est la masquer, comme si on avait coché le bouton
"Masquer automatiquement la barre des taches" dans les propriétés.
J'ai éssayé :

dwMes est un entier
ABM_SETPOS est un entier = 3
ABM_GETTASKBARPOS est un entier = 5
ABM_SETAUTOHIDEBAR est un entier = 8

ABS_AUTOHIDE est un entier = 1 //0x0000001
ABS_ALWAYSONTOP est un entier = 2 //0x0000002

abd est un APPBARDATA
abd:cbSize = Dimension(abd)
abd:hWnd = AppelDLL32("User32", "FindWindowA", "Shell_TrayWnd", Null)

dwMes = ABS_AUTOHIDE
abd:lParam = True
API("SHELL32", "SHAppBarMessage", dwMes, &abd)

dwMes = ABS_ALWAYSONTOP
abd:lParam = False
API("SHELL32", "SHAppBarMessage", dwMes, &abd)

dwMes = ABM_SETAUTOHIDEBAR
abd:uEdge = 2
abd:lParam = False
API("SHELL32", "SHAppBarMessage", dwMes, &abd)

Mais la barre ne bouge pas d'un poil !!

Aurriez vous une autre piste ??? Merci a vous, Jean-François
Publicado el 02,enero 2012 - 19:05
bonjour a tous
svp
j'essaye ce code mais ne sont pas reconnus
* user32_dll
* &KillStartButton
est ce qulcun pourrais m'eclairer
merci d'avance
Publicado el 03,enero 2012 - 00:37
bonsoir
svp
je m'ensorts en remplacant user32_dll par "User32" mais j'ai pas les constantes
* KillStartButton
* PROCESS_READINFO

merci d'avance
Publicado el 11,octubre 2019 - 10:24
Bonjour à tous,

@jean-François, avez vous trouvé une solution au finale svp ?

Je cherche comme vous à cocher la case masquer automatiquement la barre des taches, mais après des essais infructueux je tente ma chance sur le forum.

Si quelqu'un tombe sur le sujet et a une solution, merci d'avance.
Miembro registrado
1.002 mensajes
Publicado el 11,octubre 2019 - 11:25
Bonjour,

Quand je fais

Maximise(MaFenêtre)
FenEtat(MaFenêtre, DessusTout)


Je ne vois plus la barre des taches, sauf quand j'appuis sur le bouton Windows du clavier (en mode test ou en reel)

Jordan
Publicado el 27,octubre 2019 - 15:12
Bonjour,

J'ai trouvé la solution, je la poste pour ceux que cela pourrait aider.

RECT est une Structure
Left est un entier
top est un entier
Right est un entier
bottom est un entier
FIN

APPBARDATA est une Structure
cbSize est un entier
hWnd est un entier
uCallbackMessage est un entier sans signe
uEdge est un entier sans signe
RC est un RECT
lParam est un entier
FIN

stTaskBarData est un APPBARDATA
nHWnd est un entier
nHWnd = API("User32", "FindWindowA", "Shell_TrayWnd", Null)
stTaskBarData:hWnd = nHWnd
stTaskBarData:lParam = 1 //1 auto_hide, 2 always_on_top
API("SHELL32","SHAppBarMessage",10,&stTaskBarData)

Bon dev.