Salut,
voila, j'ai fais une dll dont le code est le suivant :
void __declspec(dllexport)show_msg(HWND hWnd, char *msg)
{
MessageBox(hWnd, msg, "Dll Powa - Yeah !", MB_OK);
}
BOOL APIENTRY DllMain(HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
La compilation se fait tres bien. Dans mon programme maintenant je fais ceci :
typedef void (*MYPROC)(HWND hWnd, char *msg);
HMODULE dll;
MYPROC show_msg;
dll = LoadLibrary("test_dll.dll");
if (dll == NULL)
MessageBox(NULL, "Can't load library", "Error", MB_OK);
else
{
show_msg = (MYPROC)GetProcAddress(dll, "show_msg");
if (show_msg == NULL)
{
error = GetLastError();
sprintf(msg, "Error code : %lu", error);
MessageBox(NULL, msg, "Error", MB_OK);
}
else
(show_msg)(hWnd, "Ceci est un test :)");
FreeLibrary(dll);
}
J'ai toujours le code 127 comme erreure. Je ne comprend pas pourquoi.
Si vous trouvez l'erreure ou que vous avez un conseil.
D'avance merci.
Rno