Accueil > Forum > > > > [experts] Faire un UserControl pour le SysTray
[experts] Faire un UserControl pour le SysTray
jeudi 7 juin 2007 à 20:18:16 |
[experts] Faire un UserControl pour le SysTray

violent_ken
|
Violent Ken Bonjour à tous, j'ai un petit bug... Si un expert en VB6 passe ici et qu'il a 5 minutes pour chercher sur le problème, ce serait super sympa ;) J'expose le truc : j'ai codé un UserControl pour afficher des icones dans le SysTray. Comme je dois réafficher les icones quand Explorer crashe, j'ai fais un hook du message TaskbarCreated et j'ai donc besoin d'une WindowProc toute fraiche pour recevoir le message...
Donc je dois subclasser, et comme c'est pas possible de récupérer l'adresse d'une fonction dans un UserControl (à cause de AddressOf exclusif aux *.bas), j'utilise un fonction de CallBack dans un module (classique jusque là). Mais comme je dois libérer les events du UserControl à partir de cette Proc située HORS du UserControl, je fais appel à une collection d'objets dont un que je recréé temporairement avec CopyMemory depuis un pointeur... J'en viens au bug : - en compilé, tout marche nickel (sauf le message hooké pour la taskbar, qui n'est pas envoyé, mais bon...) - en non compilé, VB6 arrive a libérer un event (donc la création temporaire de l'objet est bonne), mais au moment de supprimer l'objet temporaire via CopyMemory.... CRASH. J'ai cherché deux heures, je sais plus quoi faire... Une idée svp ? Ci joint le source qui plante : [ Lien ]@+ et merci Hex Editor VB
|
|
jeudi 7 juin 2007 à 22:59:27 |
Re : [experts] Faire un UserControl pour le SysTray

Nicko11
|
Salut,
C'est la premiere fois que j'ai l'honneur de te parler (bravo pour toutes tes tres bonnes sources), "classique jusque là", euh oui je veux bien te croire.
La, tu m'as deprimé avec ton post. Je suis tres loin de ca (les mots tous separés, ca va, mais alors une fois réunis, je suis a la ramasse totale, il suffirait peut etre de s'y mettre).
J'espere que tu ne seras pas decu en voyant que tu as une reponse et qu'elle ne t'apporte rien si ce n'est un peu de reconfort.
Tu as cherché 2 heures. Bah si tu attends une reponse de moi, attends 2 ans et j'aurais peut etre un truc pour toi LOL.
Bon j'arrete mes betises. Bonne chance.
|
|
jeudi 7 juin 2007 à 23:11:59 |
Re : [experts] Faire un UserControl pour le SysTray

violent_ken
|
Violent Ken Salut, merci pour ton post, çà fait plaisir ;) Pas grave si çà résoud pas mon bug, de toutes façons j'ai trop galéré pour ce soir avec le TraySystem ! Et courage, on progresse vite en VB ^^ Bonne soirée et merci, @+ Hex Editor VB
|
|
vendredi 8 juin 2007 à 00:34:44 |
Re : [experts] Faire un UserControl pour le SysTray

xav0
|
Réponse acceptée !
Salut, Si tu remplaces la ligne qui supprime l'objet par Call CopyMemory(Tim, CLng(0), 4) ça ne plante plus. Je crois que le 0 seul est un Integer, donc 2 octets, et lire 4 octets peut provoquer n'importe quoi.
|
|
vendredi 8 juin 2007 à 01:51:59 |
Re : [experts] Faire un UserControl pour le SysTray

xav0
|
Réponse acceptée !
J'ai fait des tests et j'ai trouvé deux autres problèmes : - Pour que le message arrive, il faut subclasser une fenêtre de premier niveau (c'est à dire un objet Form). Windows n'envoie apparemment pas le message aux contrôles. - Dans TrayCallBackFunction, "c'est bien lParam qui contient le message", mais seulement pour les messages qui concernent l'icône. Le message lTaskBarCreated est dans uMsg. Avec ça, j'espère que ça va marcher.
|
|
vendredi 8 juin 2007 à 10:39:30 |
Re : [experts] Faire un UserControl pour le SysTray

violent_ken
|
Violent Ken
Salut, "Je crois que le 0 seul est un Integer, donc 2 octets, et lire 4 octets peut provoquer n'importe quoi." ==> Superbe ! Tu as résolu le problème du crash ! MERCI, je n'aurais jamais trouvé ;) Il reste le problème dû au fait que le message lTaskBarCreated n'est pas intercepté par le controle, en effet. J'ai regardé l'état de tous les paramètres, ni uMsg ni lParam ne changent (donc le controle n'intercepte rien). L'explication vient donc certainement que çà doit être une Form qui doit capter le message, et pas un UserControl. Je sais pas trop comment remédier à çà, je vais y réfléchir. Quoi qu'il en soit, merci encore pour la résolution du bug ! @+ Hex Editor VB
|
|
vendredi 8 juin 2007 à 18:50:53 |
Re : [experts] Faire un UserControl pour le SysTray

violent_ken
|
Violent Ken Alors effectivement, lTaskBarCreated est bien intercepté si je subclasse une form (container) depuis l'UserControl. Par contre plusieurs autres messages ne le sont plus... @+ Hex Editor VB
|
|
vendredi 8 juin 2007 à 21:46:29 |
Re : [experts] Faire un UserControl pour le SysTray

xav0
|
Déjà, est-ce que tu as fait le remplacement dans la fonction AddToTray .HWnd = UserControl.HWnd par .HWnd = <la fenêtre sous-classée>.HWnd Sinon, quel message exactement n'est pas intercepté ?
|
|
vendredi 8 juin 2007 à 21:56:26 |
Re : [experts] Faire un UserControl pour le SysTray

violent_ken
|
Violent Ken Salut, oui, j'ai récupéré le ContainerHwnd. Le lTaskBarCreated est bien récupéré, çà fonctionne très bien de ce côté là, mais c'est le sous-classement de la Form qui est mauvais. Par exemple, plus possible d'agrandir ou fermer la Form...etc. Lien : http://www.mediafire.com/?4ydjetn4xim
@+ Hex Editor VB
|
|
vendredi 8 juin 2007 à 22:20:30 |
Re : [experts] Faire un UserControl pour le SysTray

xav0
|
Réponse acceptée !
Salut, c'est juste un petit détail. Change la dernière ligne de la procédure de callback pour récupérer la valeur de CallWindowProc TrayContainerCallBackFunction = CallWindowProc(OldOne, HWnd, uMsg, wParam, lParam) Et tout marche parfaitement.
|
|
Cette discussion est classée dans : message, bug, usercontrol, systray, experts
Répondre à ce message
Sujets en rapport avec ce message
Bug Forum VBfrance !! [ par boblebricolo ]
Il y a un petit bug pour le forum :Quand on veut commencer à écrire un message par un alinéa, et que l'on veut envoyer, problème ! Ca marque : "Le Mes
(::) de bug...a resoudre pour les experts...... [ par galldup ]
Salut a tous !Voila, je voudrais lancer par VBA une requete qui existe dans access mais cela bug...Dim dbs As DatabaseDim rst As DAO.Recordset
bug API (des experts) [ par davidauche ]
Après des heures de recherche, j'arrive pas à comprendre pourquoi en vb quand je crée un AUTORADIOBUTTON (option) avec l'api CreateWindowEx je ne reço
Petit bug / messages / dépots de sources [ par jmfmarques ]
Bonjour,Je signale le petit bug suivant qui se manifeste lorsque l'in ajoute un commentaire à une source déposée.A la 1ère validation : ===>> récéptio
Bug : Insertion Image + Lien [ par mortalino ]
Message systray [ par Clad49 ]
Salut !J'aurai voulu savoir comment faire pour créé un message comme msn quand un contact se connect en bas à coté du systray !Il y a longtemp j'avais
Bug CS sur les Sources dans les fiches ? [ par mortalino ]
Salut,(et oui, encore moi pour un bug, désolé)en allant dans la fiche pour rechercher un message, j'ai remarqué une chose "bizarre" (et flagrante) sur
Bug sur les emails [ par violent_ken ]
Violent Ken Salut ! Rien de bien grave, c'est juste que suite à mon message http://www.vbfrance.com/infomsg_CAPTER-OUVERTURE-PROCESSUS_739472.aspx#1
outlook image fixe dans message [ par marietotsie ]
Bonjour,j'aimerai mettre une image dans un message outlook 2000 qui reste fixe à l'écran même si scrolle le message vers le bas ? Marietotsie <TABLE c
[PAS DE CODE] Un petit bug [ par Tobi26 ]
Je tiens juste à signaler un petit bug que je viens de rencontrer à l'instant : lorsque je clique sur "valider la réponse" dans la 2ème page des répon
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOURTECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOUR par ROMELARD Fabrice
Cette session est la dernière pleinière de ces 3 jours de TechDays Paris 2010. Généralement, cette troisième journée est plus axée sur l'avenir vu par Microsoft. Après un retour sur l'avenir vu par la Science Fiction ou par ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|