DLL wärend der Laufzeit laden. Funktion findet Export in der dll nicht.
-
Sorry die zeile hatte ich hier vergessen mit anzugeben. Das scheint es nicht zu sein.
-
Also, das auch net:
#define extern "C" __declspec(dllexport) void LoadShellDll()
-
nope will nicht.
-
Ja, was soll das #define an der Stelle?
-
ohne bekomme ich fehler beim kompilieren. Wie gesagt bin noch Anfänger. Was würdest du vorschlagen?
-
Aha, Anfänger... Die fehlenden Infos kannste dir ja immer noch besorgen: http://msdn.microsoft.com/en-us/library/ms682592(VS.85).aspx
-
sDll = (LoadShellDll)GetProcAddress(hmod,"LoadShellDll"); if (!sDll) // <- Hier ist das Problem { ... } else { ... }
Wann geht der denn nun in den if-Zweig?
[] wenn sDll != 0 (-> GetProcAddress war erfolgreich)
[] wenn sDll == 0 (-> GetProcAddress hat die Funktion nicht gefunden)
-
+gjm+ schrieb:
sDll = (LoadShellDll)GetProcAddress(hmod,"LoadShellDll"); if (!sDll) // <- Hier ist das Problem { ... } else { ... }
Wann geht der denn nun in den if-Zweig?
[] wenn sDll != 0 (-> GetProcAddress war erfolgreich)
[] wenn sDll == 0 (-> GetProcAddress hat die Funktion nicht gefunden)
Auf was willst du hinaus?
-
extern "C" { void __declspec(dllexport) __stdcall LoadShellDll(void); } void __declspec(dllexport) __stdcall LoadShellDll(void){ startdll(); return; }
und dann
typedef void (__stdcall *LoadShellDll)(void); LoadShellDLL sDLL; HANDLE hmod=LoadLibrary("Shell.dll"); sDLL=(LoadShellDLL)GetProcaddress(hmod,"ShellFunction"); if(!sDLL){ printf("<EF> Cant find function [Shell.dll] %08X!\n",GetLastError()); } etc. .... .. .
so müsst ca. hinhaun
-
vielleicht prüfst auch noch
if(!hmod){ //ErrorMessage dll not found mit GetLastError() }
ob deine dll auch geladen wir