Babybaer Geschrieben 10. September 2003 Geschrieben 10. September 2003 Entwickle mit Visual C++ 7.0.Net Habe mir eine DLL geschrieben die ich mit LoadLibrary(Name.dll) lade. Mit GetProcAddress(m_hlib,Methode) rufe ich eine Methode. Jetzt habe ich das Problem, wie kann ich mehrerer Parameter an die Methode aus der DLL übergeben? Help me? Bin für jede Idee offen. Danke
Klotzkopp Geschrieben 10. September 2003 Geschrieben 10. September 2003 GetProcAdress "ruft" gar nichts, sondern gibt einen Zeiger auf die Funktion zurück. Mit dem kannst du die Funktion dann aufrufen.
Babybaer Geschrieben 10. September 2003 Autor Geschrieben 10. September 2003 Ja Ok sorry etwas falsch ausdrückt. So habe ich es geschrieben. Und wo oder wie kann ich nun die Parameter übergeben? FARPROC m_Farproc; if(!m_Farproc) m_Farproc = GetProcAddress(m_hlib,"StartWindowsHook"); m_Farproc();
Klotzkopp Geschrieben 10. September 2003 Geschrieben 10. September 2003 Du musst den Rückgabewert von GetProcAddress auf den passenden Funktionszeigertyp casten. FARPROC ist da eigentlich nur ein Dummy-Typ.
Crush Geschrieben 10. September 2003 Geschrieben 10. September 2003 So ungefähr müßte das aussehen: typedef int (* pFarproc)(int,int); pFarproc pproc= (pFarproc)GetProcAddress(m_hlib,"StartWindowsHook"); if(pproc) int rwert=pproc(1,2); Die Parameter müssen 1:1 der Funktion entsprechen, damit alles sicher funktioniert, weil lediglich der Funktionszeiger pFarproc ohne weitere Prüfung befüllt wird.
Babybaer Geschrieben 11. September 2003 Autor Geschrieben 11. September 2003 ja Danke habe es schon hinbekommen. :-)
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden