Créer une dll avec visual basic 2005 express

Signaler
Messages postés
8
Date d'inscription
jeudi 1 janvier 2004
Statut
Membre
Dernière intervention
28 août 2009
-
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
hello

alors je ne connais absolument rien en vb, mais je dois réaliser une petite dll permettant de lancer des commandes sendKeys...

bref avant d'en arriver la, je dois déja trouver comment...créer cette dll (les fonctions on verra plus trd)

donc j'ai crée un document bibliohtèque de classes, j'ai mis le code suivant

Class

SayHello

Function DireBonjour()

Return
"Bonjour tout le monde"

End
FunctionEnd

Class

apparemment y'a pas d'erreur de synthaxe, j'exporte ma dll jusque la tout a bien, mais lorsque j'essaye de voir les commandes contenues dans cette dll à l'aide de dll export viewer par exemple, il me dit que je n'ai aucun fonction dans la dll concernée...mais pourquoi donc ? si quelqu'un peut m'aider c sympa :-)

10 réponses

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Ta 'DLL' (qui n'est qu'un ActiveX) n'expose que des classes via interface COM.
Une DLL (vraie API) exportant des fonctions se fait en C.

ciao...
BruNews, MVP VC++
Messages postés
14813
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
25 juillet 2021
156
Bonjour

Et je rajoute, une DLL .NET est aussi un assembly, je coirs (pas sûr) que par défaut elle n'est pas ActiveX.

Nous captons le cockpit coupable qui a capoté
VB (6, .NET1&2), C++, C#.Net1
Mon site
Messages postés
8
Date d'inscription
jeudi 1 janvier 2004
Statut
Membre
Dernière intervention
28 août 2009

ok merci pour vos réponses...donc de manière plus concrete, vais-je pouvoir utiliser cette "dll" depuis une application type swf2exe (application permettant de charger des dll externes et d'appeler des fonctions dans celles-ci)...et si oui, alors je pensais concernant mon pb de sendKey:

function typeIn (textToType)
sendKeys.sendWait(textToType)
EndFunction

merci de votre aide... 
Messages postés
14813
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
25 juillet 2021
156
Bonjour

Ne connaissant pas swf2exe, je ne puis te le préciser.

Nous captons le cockpit coupable qui a capoté
VB (6, .NET1&2), C++, C#.Net1
Mon site
Messages postés
8
Date d'inscription
jeudi 1 janvier 2004
Statut
Membre
Dernière intervention
28 août 2009

merci pour ta réponse, aprés quelques investigations j'ai découvert que non...Je dois créer ma dll en c++ ou autre...
donc j'ai téléchargé le trial de codegear rad studio, et c la que ca coince...J'ai essayé de trouver la synthaxe correcte pour des fonctions écrites en c++ mais je dois me planter quelque part. quelle serait la synthaxe pour quelque chose du genre:

function launchKey(keystroke)  {
SendKeys.Send(keystroke);
}

car c vraiement tout ce dont j'ai besoin: appeler cette fonction depuis mon appli en transmettant la string à taper, et que celle ci se tape dans l'application active...un ptit coup de main svp ..?

merci !
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
SIMULER LES TOUCHES CLAVIER
http://www.cppfrance.com/code.aspx?ID=34205

Si c'est pour Windows c'est VC++ 2008 qu'il faut prendre, version Express est gratuite et téléchargeable. Faut laisser les produits exotiques où ils se trouvent.
Ne pas oublier qu'on ne fait pas du C par tatonnement, il te faudra qlqs mois d'études sérieuses avant de sortir une DLL digne de ce nom.

ciao...
BruNews, MVP VC++
Messages postés
8
Date d'inscription
jeudi 1 janvier 2004
Statut
Membre
Dernière intervention
28 août 2009

hello merci pour ta réponse...je suis déja développeur php/AS2/AS3 depuis quelques années, quelques notions de java, un peu de shell...je pense que je devrais m'en sortir pour une dll d'une seule fonction...je vais de ce pas jeter un oeil à tes liens et je reviens soon pour mes premières impressions

Merci !
Messages postés
8
Date d'inscription
jeudi 1 janvier 2004
Statut
Membre
Dernière intervention
28 août 2009

bon j'ai commencé à étudier ton script et je télécharge le soft...


par contre j'ai donc essayé d'appeler la commande kbdSimule en ligne de commande avec:
kbdansi.exe -kbdSimule("yoyoyo")

le fichier est bien lancé mais c la string incorporée par défaut qui s'affiche...est-ce bien la bonne méthode pour appeler la fonction ?

merci


 
Messages postés
8
Date d'inscription
jeudi 1 janvier 2004
Statut
Membre
Dernière intervention
28 août 2009

bon ca avance doucement...voila la situation:

mon fichier .h (j'ai repris l'exemple de base de création d'une dll de la doc du soft)

// MathFuncsDll.h

namespace MathFuncs
{

class MyMathFuncs{

public:

// Returns nothing
static
__declspec(
dllexport)
char kbdSimule(
char a);
}
}

mon fichier cpp


// MathFuncsDll.cpp
// compile with: /EHsc /LD



#include



"stdafx.h"

#include



"MathFuncsDll.h"

#include



<stdexcept>

using



namespace
std;


namespace
MathFuncs
{


char
MyMathFuncs::kbdSimule(

char
a)
{


char
npt = a;
SendInput(1, &npt,

sizeof
(a));
}
}

et la au moment de la compil j'ai l'erreur suivante:mathfuncsdll.cpp(40) : error C2664: 'SendInput' : cannot convert parameter 2 from 'char *' to 'LPINPUT'

alors je comprend bien que cela vient d'un pb de déclaration de type de variable, mais j'en sais pas plus...quelqu'un pourrait m'aiguiller plz ? je pense qu'une fois que j'aurais capté ceci je pourrais déja commencer à avancer avec une bonne référence...

merci !
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Niet, tu n'y es pas du tout.

PARAMS de SendInput() :
1) nombre de structures partant de l'adresse au second param.
2) adresse d'un tableau de structures INPUT.
3) Mettre: sizeof(INPUT).

ciao...
BruNews, MVP VC++