Ce programme permet d'installer une DLL en mémoire qui est activée dès un clic droit sur des fichiers dans l'explorateur windows. Immédiatement ces fichiers sont sotckés en mémoire par l'API GlobalAddAtom, puis sont disponibles pour lecture via un programme distant.
On peut donc faire dialoguer aisément une DLL et un programme.
Le code d'éission/réception peut etre utilisé comme débugueur...
Dans le dossier sont présents 4 projets :
1. vb6ContextMenu : permet de générer la DLL (vous verrez avec des commentaires c'est plus simple)
2. Setup DLL : installe la DLL à l'explorateur. Après chaque redémarrage du PC il est necessaire de le relancer.
3. Sinon, AutoRunSetup : c'est le meme code que le Setup DLL, mais sans fenetre et s'inscrit dans la base de registre pour se lancer automatiquement (depuis l'endroit ou tu l'exécute la dernière fois).
4. Application_Receveur : est la fenetre qui recoit les informations.
Source / Exemple :
En option, je vous ai laissé le code qui permet d'ecrire ses memes données sur le DD, afin de vérifier l'échange ou de garder un historique -> Module ConfigDLL.
http://www.vbfrance.com/code.aspx?ID=29138
En ce qui conserne les évènements, je vais écrire un petit tutorial, comme ça sa servira à tous le monde :)
Pour mon problème, je ne veux pas ajouter un menu à mon application mais aux menus contextuels dans l'explorateur de windows (Clique droit sur un fichier ou un dossier), et cela sans avoir à invoquer une DLL externe.
En bref, j'aimerais (si tu veux bien :p) que tu m'explique comment réécrire ton code (en enlevant les atomes) pour qu'il ajoute un menu au menus contextuels (comme il le fait actuellement), et que quand l'utilisateur clique sur le menu dans l'explorateur windows, cela affiche juste une boite de dialogue contenant l'adresse du fichier (ou dossier) (la boite de dialogue me permettera de savoir où placer mon code en faite :p).
Voila, j'espère avoir une réponse le plus vite car je suis impatient de finaliser mon programme :D
Encore merci pour ton aide,
Psykocrash
J'ai beaucoup galéré pour trouver comment faire dialoguer la DLL avec un programme qui l'appel. Je n'avais rien trouvé d'autre que les atoms.
STP, explique moi comment on peut le faire par évènements. Donne moi un exemple ou un lien vers un code, stp... T'es la 1ère personne qui sait comment faire et qui me le dit ! AIDE MOI
Pour répondre à ta question :
Tu veux ajouter un menu à l'explorateur Windows ou à une form ? Si c'est pour une form, j'ai un super code sous le coude.
Regarde mes commentaires et tu vas vite comprendre.
1. Le module DLL ne doit pas etre modifié. Il permet de s'insérer dans l'explorateur.
2. La class MyHandler permet de gérer les actions :
a. QueryContextMenu : définit l'icone + le texte
b. InvokeCommand : gère toutes les données sélectionnées
Les 2 autres modules ne te serviront pas.
A deux nous serons plus fort ;o)
A+
En tout cas bravo, c'est un bonne exemple d'utilisation des atoms sous VB. 10/10
A+
Nocturne
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.