Hello,
Voilà , j'arrive à lancer ma dll de la manière suivante :
en fait ça fonctionne bien de cette façon mais comme c'est moi qui l'ai fait ça ne me semble pas très orthodoxe surtout le void __stdcall CALLBACK M2(char *s) {}. Ya t'il une autre voie pour faire de D1(&M2); quelque chose qui ressemblerait à ceci : D1(void __stdcall CALLBACK M2(char *s) {}); ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 #include <windows.h> void __stdcall CALLBACK M2(char *s) {} int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) { HANDLE hD1; typedef int (__stdcall* lp3) (); lp3 D1; hD1 = LoadLibrary("Test.dll"); D1 = (lp3) GetProcAddress((HINSTANCE)hD1, "_DLL@4"); D1(&M2); return 0; }
Deuxième question : savez-vous à quoi correspond le @4 dans D1 = (lp3) GetProcAddress((HINSTANCE)hD1, "_DLL@4"); ? Je sais que _DLL appelle la fonction dans la dll mais je ne sais pas à quoi sert ce @4...
Merci.
Edit Alp : J'ai modifié le titre car il est trop vague --- essaye de choisir un titre plus précis la prochaine fois, pour que les personnes qui auront des problèmes ou questions semblables aux tiens puissent trouver facilement la réponse
Partager