Cosa sbaglio???
codice:#include "dll.h" #include <windows.h> #include <stdio.h> #include <stdlib.h> #define STRICT #define WIN32_LEAN_AND_MEAN DLLIMPORT void PlugInfo(char * name, char * autor) { char * msg; strcpy(msg, name); strcpy(msg, " by "); strcpy(msg, autor); strcpy(msg, "\n"); MessageBox (0, msg, "Hi", MB_ICONINFORMATION); } BOOL APIENTRY DllMain (HINSTANCE hInst /* Library instance handle. */ , DWORD reason /* Reason this function is being called. */ , LPVOID reserved /* Not used. */ ) { switch (reason) { case DLL_PROCESS_ATTACH: break; case DLL_PROCESS_DETACH: break; case DLL_THREAD_ATTACH: break; case DLL_THREAD_DETACH: break; } /* Returns TRUE on success, FALSE on failure */ return TRUE; } #ifndef _DLL_H_ #define _DLL_H_ #if BUILDING_DLL # define DLLIMPORT __declspec (dllexport) #else /* Not BUILDING_DLL */ # define DLLIMPORT __declspec (dllimport) #endif /* Not BUILDING_DLL */ DLLIMPORT void PlugInfo(char * name, char * autor); #endif /* _DLL_H_ */ #include <stdio.h> #include <windows.h> typedef void (*Plug)(char *, char *); int main(int argc, char * argv[]) { Plug * funz; HMODULE mod = LoadLibrary("g.dll"); funz = (Plug *)GetProcAddress(mod, "PlugInfo"); funz("Plug esemply", "Luca"); FreeLibrary(mod); return 0; }

Rispondi quotando