Créer une dll avec visual basic 2005 express

gabole Messages postés 8 Date d'inscription jeudi 1 janvier 2004 Statut Membre Dernière intervention 28 août 2009 - 8 avril 2008 à 13:41
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 10 avril 2008 à 14:28
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

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
8 avril 2008 à 14:00
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++
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
8 avril 2008 à 14:13
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
0
gabole Messages postés 8 Date d'inscription jeudi 1 janvier 2004 Statut Membre Dernière intervention 28 août 2009
8 avril 2008 à 14:45
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... 
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
9 avril 2008 à 14:02
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gabole Messages postés 8 Date d'inscription jeudi 1 janvier 2004 Statut Membre Dernière intervention 28 août 2009
9 avril 2008 à 14:30
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 !
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
9 avril 2008 à 18:55
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++
0
gabole Messages postés 8 Date d'inscription jeudi 1 janvier 2004 Statut Membre Dernière intervention 28 août 2009
9 avril 2008 à 19:05
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 !
0
gabole Messages postés 8 Date d'inscription jeudi 1 janvier 2004 Statut Membre Dernière intervention 28 août 2009
10 avril 2008 à 12:52
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


 
0
gabole Messages postés 8 Date d'inscription jeudi 1 janvier 2004 Statut Membre Dernière intervention 28 août 2009
10 avril 2008 à 13:51
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 !
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
10 avril 2008 à 14:28
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++
0
Rejoignez-nous