LoadLibrary liefert immer NULL



  • Ich habe eine sehr einfache DLL:

    #include <Windows.h>
    void Hallo()
    {
    	MessageBox(0, L"Hallo!", L"Hallo!", 0);
    }
    
    BOOL WINAPI DllMain(HANDLE hinstDLL, DWORD dwReason, LPVOID lpvReserved)
    {
    	MessageBox(0, L"DLL wurde geladen", L"Informatino", 0);
    }
    

    die ich anschließend aufrufen möchte. Dazu habe ich noch eine Konsolenanwendung:

    HMODULE hMod = LoadLibrary(_T("TestLib2.dll"));
    	cout << hMod << endl;
    
    	if(hMod != NULL)
    	{
    		cout << "Klappt!" << endl;
    	}
    	else
    	{
    		cout << "Fehler!" << endl;
    	}
    

    starte ich das ganze wird die MessageBox aus der DLL angezeigt, aber als Result wird mir NULL zurückgegeben.

    WARUM?



  • Teste GetLastError().
    Wird ja wahrscheinlich daran liegen, dass die DLL nicht gefunden wird...
    Simon



  • in die DllMain musst du return TRUE schreiben, sonst geht windows davon aus, dass ein fehler aufgetreten ist.



  • player424 schrieb:

    in die DllMain musst du return TRUE schreiben, sonst geht windows davon aus, dass ein fehler aufgetreten ist.

    Danke 👍


Anmelden zum Antworten