Comment lancer une DLL depuis une invite de commande. [Résolu]

jeromedu01 52 Messages postés mercredi 21 décembre 2005Date d'inscription 23 février 2010 Dernière intervention - 12 mars 2009 à 09:52 - Dernière réponse : jeromedu01 52 Messages postés mercredi 21 décembre 2005Date d'inscription 23 février 2010 Dernière intervention
- 12 mars 2009 à 14:29
Bonjour a tous,
Premierement, je suis un grand debutant.

J'ai une DLL du type :

Public

Class MyMainClass

      Function SendMsgToUser(
ByVal Mes
As
String)
As
String
            MsgBox(
My.Computer.Clock.LocalTime &
" "
& Mes)

         Return
"sent"

      End
Function
End
ClassJe souhaite lancer l'execution du code depuis une invite de commande (ou commande shell) avec un parametre string ?
Que dois-je ajouter au contenu de la DLL ?

J'aimerai un truc du genre : MaDLL.dll -SendMsgToUser
"Je vais au marche."

Est-ce possible ?

Merci,
Jerome.
Afficher la suite 

Votre réponse

14 réponses

Meilleure réponse
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 12 mars 2009 à 14:20
3
Merci
je te l'ai dit: pas faisable en VB.Net

Merci Renfield 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 72 internautes ce mois-ci

Commenter la réponse de Renfield
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 12 mars 2009 à 10:11
0
Merci
RunDll.exe
Commenter la réponse de Renfield
jeromedu01 52 Messages postés mercredi 21 décembre 2005Date d'inscription 23 février 2010 Dernière intervention - 12 mars 2009 à 11:31
0
Merci
Merci pour ta reponse.
Malheureusement je ne parviens pas a lancer la DLL avec l'execution de la fonction.
Pourrais-tu me donnner la syntaxe?
Je fais : rundll.exe MaDll.dll MyMainClass.SendMsgToUser("Essai").
Mais cela ne fonctionne pas.
Je pense qu'il doit faloir ajouter des infos dans la dll, non ?

Merci,
Jerome.
Commenter la réponse de jeromedu01
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 12 mars 2009 à 11:39
0
Merci
je ne pense pas que cela fonctionne avec ta dll .Net...

pourquoi dois tu passer par ca ?

tu peux faire une appli exe normale...(ou en console)
et lire les arguments de ligne de commande, comme tout le monde
Commenter la réponse de Renfield
jeromedu01 52 Messages postés mercredi 21 décembre 2005Date d'inscription 23 février 2010 Dernière intervention - 12 mars 2009 à 11:56
0
Merci
En fait ma DLL devra communiquer avec windows explorer donc j'aimerai eviter les EXE.
Aussi elle pourrait etre lancee directement et eviter d'avoir un process qui tourne.

Je suis desole mais ne comprend pas l'interet de la commande rundll.exe si nous ne pouvons pas specifier quelle function ou sub demarer? je pense que je suis un peu perdu ?
Pourrais-tu m'en donner les avantages?
Merci encore.
Jerome.
Commenter la réponse de jeromedu01
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 12 mars 2009 à 12:00
0
Merci
rundll permet de lancer la fonction de ton choix, mais là, tu joues en .NET, un simple LoadProcAdress est inefficace...

"devra communiquer avec windows explorer donc j'aimerai eviter les EXE."

je pige pas bien le lien de cause a effet...
Commenter la réponse de Renfield
jeromedu01 52 Messages postés mercredi 21 décembre 2005Date d'inscription 23 février 2010 Dernière intervention - 12 mars 2009 à 12:08
0
Merci
En fait mon objectif est de creer un addin a windows explorer. Je souhaite dans le menu du click de droite ajouter un element qui copiera des elements historiques du clipboard.
On m'a conseille de faire une DLL appellee a partir des commandes shell presentes dans HKCLASSROOT du registre.

Dans ce cas la commande shell lancerait la DLL avec comme parametre l'element clique par l'utilisateur.
Je pense tout de meme qu'il doit y avoir un moyen meme si on joue en .NET?

Merci beaucoup
Jerome.
Commenter la réponse de jeromedu01
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 12 mars 2009 à 12:12
0
Merci
il s'agit d'une "shell extension"

http://www.keyongtech.com/432355-creating-shell-extensions-in-c

déconseillé en .NET
Commenter la réponse de Renfield
jeromedu01 52 Messages postés mercredi 21 décembre 2005Date d'inscription 23 février 2010 Dernière intervention - 12 mars 2009 à 12:29
0
Merci
Ok merci pour le lien.
Mais pour ma culture perso comment fait-on pour lancer une fonction specifique au sain d'une DLL avec une commande runddl.exe ?

Merci,
Jerome.
Commenter la réponse de jeromedu01
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 12 mars 2009 à 12:34
0
Merci
en gros:

rundll32.exe MaDll.dll,SendMsgToUser Essai
Commenter la réponse de Renfield
jeromedu01 52 Messages postés mercredi 21 décembre 2005Date d'inscription 23 février 2010 Dernière intervention - 12 mars 2009 à 13:01
0
Merci
Merci pour la syntaxe. Toutefois certain elements doivent manquer dans ma DLL car je recois un message : missing entry point sendMsgToUser.
As-tu une idee ?
Merci.

Merci,
Jerome.
Commenter la réponse de jeromedu01
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 12 mars 2009 à 13:11
0
Merci
il faut bien évidemment que ta dll exporte cette fonction...
Commenter la réponse de Renfield
jeromedu01 52 Messages postés mercredi 21 décembre 2005Date d'inscription 23 février 2010 Dernière intervention - 12 mars 2009 à 14:12
0
Merci
Et comment ceci peut-il etre defini en terme de code.?
Que dois-je rajouter a mon code ci dessus pour le faire ?

Merci,
Jerome.
Commenter la réponse de jeromedu01
jeromedu01 52 Messages postés mercredi 21 décembre 2005Date d'inscription 23 février 2010 Dernière intervention - 12 mars 2009 à 14:29
0
Merci
Ok merci de tes precieuses informations.

Merci,
Jerome.
Commenter la réponse de jeromedu01

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.