Kann mir jemand helfen? Mein Problem ist, beim kompellieren von meinem Programm kommt die Fehlermeldung "error LNK2001: Nichtaufgeloestes externes Symbol _GetLastState" was bedeutet diese Meldung? was mache ich falsch? Den das komische ist, ich verwende den gleichen Code von einem anderem Programm das mit diese Dll funktioniert!
das mit den zwei Thread war wohl ein mißgeschickt! ja, das wars mußte wohl nur die *.lib dem Projekt hinzufügen!
Geht das ganze überhaupt auch ohne der *.lib? Denn ich habe noch eine *.dll wo keine *.h und *.lib habe! habe zwar einiges gelesen das dies gehen soll, aber irgendwie nicht richitg verstanden
Du kannst für jede Funktion einen Funktionspointer passenden Typs deklarieren und jede einzelne Funktion die Speicheradresse besorgen wo die Funktion liegt. Ist aber jede Menge Schreibarbeit!! Nen kleines Beispiel.
C++:
//Funktionszeiger deklarieren.Rueckgabetyp Aufrufart Name(Parametertypen) typedefDWORD(WINAPI * RSP)(DWORD,DWORD); // Der Typ RSP ist also ein Zeiger auf eine Funktion die 2 Parameter //vom Typ Dword erwartet und ein Dword zurueck gibt. RSP pDllFunk; //Eine Zeigervariable anlegen //Den Zeiger mit der Adresse der Dll Funktion "fuellen" pDllFunk = (RSP)GetProcAddress(GetModuleHandle("KERNEL32.DLL"), "RegisterServiceProcess"); pDllFunk(0,1);//Dll Funktion benutzen
PS:RegisterServiceProcess funktioniert nicht unter NT basierten OS .
MfG DerLiebeGast -- if(lesen) wissen++;Dieser Post wurde am 02.11.2003 um 16:31 Uhr von DerLiebeGast editiert.
Habe ein Problem damit 2 DLL's in eine EXE einzubinden. Mit einer war das kein Problem. Habe das so gemacht wie in dem Beispiel unter Download. Sobald ich aber eine Zweite einbinde bekomme ich 2 mal die Fehlermeldung "unresolved external". Nehme ich dann die Zweite wieder raus, kommt die Fehlermeldung nur noch einmal und funktionieren tut es nicht, obwohl alles genauso ist wie vorher.