Salutation.
Est-il possible de créer un systray avec popup menu sans avoir à créer une fenêtre ou est-on obligé de créer une fenêtre invisible (ce que je trouve dommage) ?
[OK] Systray sans fenêtre ?
[OK] Systray sans fenêtre ?
Dernière modification par Ar-S le sam. 10/août/2013 15:25, modifié 1 fois.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Systray sans fenêtre ?
La fenetre est obligatoire pour gerer l'evenement.
Re: Systray sans fenêtre ?
Ok, merci.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: [OK] Systray sans fenêtre ?
Bonjour Ar-s. Petite astuce en utilisant le DeskTop comme handle de fenêtre.
A prioris on ne peut pas mettre de menu mais on peut tester des touches dont le traitement s'effectue dans un thread.
Tu peux tester les touches :
- F8 qui agit comme un interrupteur On Off.
- F10 qui fait rien :p
- F12 qui permet de fermer ce process
A prioris on ne peut pas mettre de menu mais on peut tester des touches dont le traitement s'effectue dans un thread.
Tu peux tester les touches :
- F8 qui agit comme un interrupteur On Off.
- F10 qui fait rien :p
- F12 qui permet de fermer ce process
Code : Tout sélectionner
Global Status.b, EndSystray.b
Procedure WaitKey(*Value)
Repeat
If GetAsyncKeyState_(#VK_F8) & $1
If Status = #False
Status = #True
Debug "True"
Else
Status = #False
Debug "False"
EndIf
EndIf
If GetAsyncKeyState_(#VK_F10) & $1
Debug "Touche F10"
EndIf
If GetAsyncKeyState_(#VK_F12) & $1
Debug "C'est fini"
EndSystray = #True
EndIf
ForEver
EndProcedure
WindowID = GetDesktopWindow_()
SysTray = AddSysTrayIcon(#PB_Any, WindowID, LoadIcon_( 0, #IDI_EXCLAMATION ) );
SysTrayIconToolTip(SysTray, "Presser la touche F12" +#CRLF$+ "pour quitter le systray")
;Créé un thread tournant en arrière plan de l'application
CreateThread(@WaitKey(), #Null)
Repeat : Until EndSysTray
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: [OK] Systray sans fenêtre ?
Merci pour le complément 

~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: [OK] Systray sans fenêtre ?
le code minimum
Code : Tout sélectionner
WindowID = GetDesktopWindow_()
SysTray = AddSysTrayIcon(#PB_Any, WindowID, LoadIcon_( 0, #IDI_EXCLAMATION ) );
SysTrayIconToolTip(SysTray, "Presser la touche F12" +#CRLF$+ "pour quitter le systray")
Repeat
Until GetAsyncKeyState_(#VK_F12) & $1
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%