OCX POUR GÉRER LE SYSTRAY SUPER FACILEMENT !!! SI, SI JETEZ UN OEIL VOUS VERREZ

Golog Messages postés 224 Date d'inscription jeudi 31 janvier 2002 Statut Membre Dernière intervention 22 décembre 2009 - 14 févr. 2004 à 13:10
cs_benduf Messages postés 4 Date d'inscription jeudi 9 février 2006 Statut Membre Dernière intervention 5 juin 2008 - 5 juin 2008 à 17:48
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/20401-ocx-pour-gerer-le-systray-super-facilement-si-si-jetez-un-oeil-vous-verrez

cs_benduf Messages postés 4 Date d'inscription jeudi 9 février 2006 Statut Membre Dernière intervention 5 juin 2008
5 juin 2008 à 17:48
salut
ça fonctionne très bien sur XP, mais je dois le faire fonctionner sur serveur 2003, quelqu'un peut me dire comment faire, dois-je rajouter des dlls ou autre ....
Merci
cs_benduf Messages postés 4 Date d'inscription jeudi 9 février 2006 Statut Membre Dernière intervention 5 juin 2008
9 avril 2008 à 13:19
Salut c'est génial j'arrive en m'en servir à partir d'un autre programme de développement hipper bridé!!!! Visual lansa par contre je n'arrive pas à charger un icône pourrait-on en mettre un par défault cela serait vraiment géniale pour moi. car l'icone est tout blanc. j'ai essayé aussi de l'ouvrir avec microsft visual studio 2005 mais j'ai des erreurs et je suis novice avec.

Merci
jblary Messages postés 1 Date d'inscription jeudi 11 mai 2006 Statut Membre Dernière intervention 20 juin 2007
20 juin 2007 à 17:00
Salut,
Très bonne source, yomm! Ca fait plaisir de voir du code aussi propre (commentaire, identation...)
Je mets aussi un 9/10
Bonne continuation
A+
Jeh
42wawa42 Messages postés 143 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 6 septembre 2011
6 mai 2007 à 18:48
Trés belle source merci.....

A plus sur VBFrance.com
42wawa42
(9/10)
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
18 déc. 2006 à 01:03
Humm j'ai mal cherché, autant pour moi !

Fallait passer par le créateur de Menu...
En tout cas merci beaucoup, je pense l'intégrer dans ma prochaine source (pour le taf) et je modifierai ton UserControl mais je ferai un clin d'oeil à ta source dans la mienne ;)

@++
(9/10)
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
18 déc. 2006 à 00:49
Salut,

très intéressant, cependant, malgrè mes recherches dans ton UC, comment fais-tu pour définir ton MenuPop ?
Par exemple, j'ai MenuQuitter, MenuRestore et MenuMessage, j'aimerai le changer et mettre d'autre chose.
J'ai beau regarder dans l'explorateur d'objet, je ne le retrouve pas.

Merci pour ton aide ;)
++
cs_gilgamesh44 Messages postés 12 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 mars 2009
24 oct. 2006 à 10:56
Salut,

Tout d'abord merci pour cette source a double utilisation !

En effet, la gestion du systray est NICKEL !!! Ca marche du tonnerre !!! Et pour la deuxieme fonctionnalité, cette source va me permettre de deblayer un peu comment creer des controles activeX. En fait, c'est une super source en tant que TUTORIEL aux activeX !

Un gros merci !
quigon23 Messages postés 1 Date d'inscription lundi 24 juillet 2006 Statut Membre Dernière intervention 24 juillet 2006
24 juil. 2006 à 19:54
Simple Efficace Bravo !!!!
cs_patrick Messages postés 31 Date d'inscription vendredi 19 mai 2000 Statut Membre Dernière intervention 21 juillet 2015
17 juil. 2006 à 16:17
C'est ce que fait le bout de code que j'ai mis : il calcul la température CPU via "ACPI", puis "l'écrit" dans un icon. L'icon est alors "envoyé" au Systray.

Bon... la limite d'un texte dans un icon, c'est deux caractères maxi ! (16x16)

A+ Patrick
fdiedler2000 Messages postés 383 Date d'inscription samedi 29 janvier 2005 Statut Membre Dernière intervention 1 décembre 2008
14 juil. 2006 à 19:00
oui exact mais dynamiquement car le chiffre va changer ^^
yomm Messages postés 515 Date d'inscription dimanche 17 février 2002 Statut Membre Dernière intervention 10 mars 2008 3
14 juil. 2006 à 15:33
>>FDIEDLER2000

en gros comme l'affichage de l'heure ?
désolé, je me suis jamais posé la question...
fdiedler2000 Messages postés 383 Date d'inscription samedi 29 janvier 2005 Statut Membre Dernière intervention 1 décembre 2008
13 juil. 2006 à 23:07
lol non ca c facile mais c'est de mettre un texte dynamiquement dans le systray dans l'icone pas en ttoltip
yomm Messages postés 515 Date d'inscription dimanche 17 février 2002 Statut Membre Dernière intervention 10 mars 2008 3
13 juil. 2006 à 22:41
>>FDIEDLER2000

je sais pas ce que tu entends par mettre "un texte dans l'icon du systray" mais si c'est modifier le tooltiptext à savoir le texte afficher lorsque l'on pointe la souris sur l'icon en question, il te suffit d'utiliser une commande du style :
YommSysTray1.Caption = "toto"

comme dans l'exemple fournit dans le source...

@+ et bon dev
cs_patrick Messages postés 31 Date d'inscription vendredi 19 mai 2000 Statut Membre Dernière intervention 21 juillet 2015
12 juil. 2006 à 23:25
j'ai un bout de code qui affiche la température CPU dans l'icon. Tous le code n'est pas de moi...

Le principe est d'utilisé un control ImageList, et de modifier l'une des images.

VERSION 5.00
Object = "{6B7E6392-850A-101B-AFC0-4210102A8DA7}#1.3#0"; "comctl32.ocx"
Begin VB.Form Form1
BackColor = &H80000009&
Caption = "Form1"
ClientHeight = 2610
ClientLeft = 165
ClientTop = 555
ClientWidth = 3345
LinkTopic = "Form1"
ScaleHeight = 2610
ScaleWidth = 3345
StartUpPosition = 3 'Windows Default
Begin VB.Timer Interval
Interval = 1000
Left = 1800
Top = 240
End
Begin VB.PictureBox Pictext
Appearance = 0 'Flat
AutoRedraw = -1 'True
BackColor = &H00000000&
BorderStyle = 0 'None
ForeColor = &H00FFFFFF&
Height = 240
Left = 240
ScaleHeight = 16
ScaleMode = 3 'Pixel
ScaleWidth = 16
TabIndex = 0
Top = 240
Width = 240
End
Begin VB.Label Label1
Caption = "Label1"
Height = 255
Left = 840
TabIndex = 1
Top = 1440
Width = 1575
End
Begin ComctlLib.ImageList imgList
Left = 720
Top = 240
_ExtentX = 1005
_ExtentY = 1005
BackColor = -2147483643
MaskColor = 12632256
_Version = 327682
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit

Private Type NOTIFYICONDATA
cbSize As Long
hWnd As Long
uId As Long
uFlags As Long
ucallbackMessage As Long
hIcon As Long
szTip As String * 64
End Type

Private Const NIM_ADD = &H0
Private Const NIM_MODIFY = &H1
Private Const NIM_DELETE = &H2
Private Const NIF_MESSAGE = &H1
Private Const NIF_ICON = &H2
Private Const NIF_TIP = &H4

Private Const WM_LBUTTONDBLCLK = &H203
Private Const WM_LBUTTONDOWN = &H201
Private Const WM_RBUTTONUP = &H205

Private Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean

Dim IconeTray As NOTIFYICONDATA
Dim wbemServices As Object

'=====================================================================================================
' Initialisation
'=====================================================================================================

Private Sub Form_Load()

'- - - Connexion a WMI
'On Error GoTo WMI_CONNECT
Set wbemServices = GetObject("winmgmts:" & "\\localhost\root\wmi")
On Error GoTo 0

'- - - Initialisation Icon pour Systray
imgList.ListImages.Add , , Pictext.Image
imgList.MaskColor = Pictext.BackColor
imgList.UseMaskColor = True

'- - - Creation du Systray
IconeTray.cbSize = Len(IconeTray)
IconeTray.hWnd = Me.hWnd
IconeTray.uId = 1&
IconeTray.uFlags = NIF_TIP Or NIF_MESSAGE
IconeTray.ucallbackMessage = WM_LBUTTONDOWN
IconeTray.szTip = "Essai NotifyIcon" & Chr(0)
Shell_NotifyIcon NIM_ADD, IconeTray

'- - - valeur implicite
Call Interval_Timer

End Sub

Private Sub Interval_Timer()

Dim wbemObjectSet As Object
Dim wbemObject As Object

'- - - calcul Temperature
Interval.Enabled = False
Set wbemObjectSet = wbemServices.InstancesOf("MSAcpi_ThermalZoneTemperature")
For Each wbemObject In wbemObjectSet
Me.Caption = CInt(((wbemObject.CurrentTemperature - 2732) / 10)) & Chr(176) & "C"
'Me.caption = CInt(((wbemObject.CurrentTemperature - 2732) / 10) * (9 / 5) + 32) & Chr(176) & "F"
Me.Label1 = wbemObject.CurrentTemperature
Next
Set wbemObjectSet = Nothing
Interval.Enabled = True

'- - - calcul nouvelle images
imgList.ListImages.Remove 1
Pictext.Cls
Pictext.Print Val(Me.Caption)
Pictext.Line (2, 3)-(2, 11), , B
Pictext.Circle (2, 13), 2
imgList.ListImages.Add , , Pictext.Image

'- - - Mise a jour SysTray
IconeTray.hIcon = imgList.ListImages(1).ExtractIcon
IconeTray.uFlags = NIF_ICON
Shell_NotifyIcon NIM_MODIFY, IconeTray

End Sub

'=====================================================================================================
' Fin Programme
'=====================================================================================================

Private Sub Form_Unload(Cancel As Integer)
Set wbemServices = Nothing
Shell_NotifyIcon NIM_DELETE, IconeTray
Set Form1 = Nothing
End Sub
fdiedler2000 Messages postés 383 Date d'inscription samedi 29 janvier 2005 Statut Membre Dernière intervention 1 décembre 2008
7 juil. 2006 à 19:41
c'est possible de mettre un texte dans l'icon du systray ??
_deadstar_ Messages postés 40 Date d'inscription dimanche 30 janvier 2005 Statut Membre Dernière intervention 17 août 2007
9 mars 2006 à 10:43
super merci beaucoup pour ton aide ! ^^
cs_patrick Messages postés 31 Date d'inscription vendredi 19 mai 2000 Statut Membre Dernière intervention 21 juillet 2015
1 mars 2006 à 09:19
p'tit truc pour que le menu du systay "disparaise" sans être obligé de cliquer obligatoirement dans l'un de ces items : rajouter un SetForegroundWindow avant l'appel du menu ! soit :

Private Declare Function SetForegroundWindow Lib "user32" (ByVal hWnd As Long) As Long

Private Sub MonIcone_Click(ByVal Button As Long)
If Button = 1 Then
SetForegroundWindow Me.hWnd
PopupMenu MenuPop
End If
End Sub

A+ Patrick
http://jeux.cartes.free.fr
fredericmichel Messages postés 7 Date d'inscription vendredi 4 février 2005 Statut Membre Dernière intervention 11 avril 2008
3 août 2005 à 11:18
Très bien, merci à toi.
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
30 janv. 2005 à 00:45
Commentaire tardif...

Vraiment très bien...

10/10

Heureusement qu'il y a Yomm :-)
yomm Messages postés 515 Date d'inscription dimanche 17 février 2002 Statut Membre Dernière intervention 10 mars 2008 3
13 août 2004 à 20:04
où l'as tu copié ?
2 solutions :
-1) tu le mets dans le même répertoire ke le fichier exe
-2) dans le répertoire system de windows (system/system32 selon l'OS)

Sinon , il est peut etre nécessaire de recompiler l'ocx ...mais s'il marche sur d'autres postes, je pense que l'une des 2 premières solutions devrait sufir.

@+
cs_shakaka Messages postés 8 Date d'inscription lundi 9 août 2004 Statut Membre Dernière intervention 10 janvier 2008
13 août 2004 à 16:02
Merci pour ce prog Yomm mais j'ai un souci.Je souhaiterais utiliser le projet2.vbp sur un poste qui n'a pas VB6 en le transformant en .EXE mais cela ne fonctionne pas alors que avec d'autres prog j'arrive a les faire marcher.Il me met un msg d'erreur sur le fichier "yommsystrayocx.ocx ou une de ses dependances introuvable ou incorrect".Pour info j'ai pris soin de copier le fichier yommsystrayocx sur le poste.

Merci pour ton aide
Aramiil Messages postés 48 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 21 avril 2008
6 juin 2004 à 22:41
félicitation, j'aime beaucoup!
yomm Messages postés 515 Date d'inscription dimanche 17 février 2002 Statut Membre Dernière intervention 10 mars 2008 3
30 mai 2004 à 12:32
merci a bous
cs_wolfcyber Messages postés 78 Date d'inscription dimanche 22 février 2004 Statut Membre Dernière intervention 24 juillet 2005
29 mai 2004 à 15:18
Tres bien, vraiment, 8/10
tmcuh Messages postés 458 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 18 avril 2009
17 mai 2004 à 12:53
Très bien rien à dire, j'ai vu une autre source dessus, mais bon je me suis pas amuser à voir qui la fait en premier (jeux de gamin)...je te mets 10 meme si c'est pas toi qui l'as fait :D ...le principale c'est que cà me vient à point
Bonne continuation
mythic_kruger Messages postés 241 Date d'inscription jeudi 8 janvier 2004 Statut Membre Dernière intervention 10 novembre 2005
3 mars 2004 à 02:21
Je viens de l' essayer c'est vraiment cool!
Juste un petit truc, j' ai laissé tourner l' appli pendant un moment dans le systray, et lors de la mise en veille du moniteur, impossible de revenir dans windows: gros crash et reboot (sans scandisk). Aurais-tu une idée? Sans ça c'est super!
NeoToto Messages postés 11 Date d'inscription vendredi 29 novembre 2002 Statut Membre Dernière intervention 15 mai 2006
23 févr. 2004 à 15:35
Un 9 aussi, vu que ca risque d'etre pas mal de temps de gagné. Merci !
(De toute facon, si ca marche pas, je reviens et je met 0 :)
yomm Messages postés 515 Date d'inscription dimanche 17 février 2002 Statut Membre Dernière intervention 10 mars 2008 3
15 févr. 2004 à 00:46
merci a toi ;-)
kimmelf2 Messages postés 267 Date d'inscription lundi 22 septembre 2003 Statut Membre Dernière intervention 27 novembre 2005
14 févr. 2004 à 23:35
moi j'aime bien alors je met 9 vu que ca va m'aider :-)
yomm Messages postés 515 Date d'inscription dimanche 17 février 2002 Statut Membre Dernière intervention 10 mars 2008 3
14 févr. 2004 à 14:52
ok désolé j'avais cherché l'info fut un temps et j'avais pas trouvé...
je ai eut besoin ces jours ci et je me suis dis que j'allais le faire....
soit entre temps quelqu'un l'a fait ....
Golog Messages postés 224 Date d'inscription jeudi 31 janvier 2002 Statut Membre Dernière intervention 22 décembre 2009
14 févr. 2004 à 13:10
Avait déja vu sur le site, c po innovant ... mais bon c bien de le rappeler
Rejoignez-nous