dll per LoadLibraryEx "includen"
-
kann man eine dll so includen, dass sie von ihren anderen aufrufern wie gehabt weiterbenutzt werden kann ohne dass man header dateien bzw. libraries von ihr hat?
wenn ja, kann mir jemand ein bitte ein komplettes beispiel dafür geben?
hab schon gesucht, hab ein "nützlichen" beitrag gefunden, aber der erzeugte bei mir fehler ohne ende
plz help
-
-
nup schrieb:
kann man eine dll so includen, dass sie von ihren anderen aufrufern wie gehabt weiterbenutzt werden kann ohne dass man header dateien bzw. libraries von ihr hat?
hier muss ich ja auch die funktionsnamen wissen...ich will sie einfach so drinhaben, dass die funktionen weiterhin von einer anderen datei aufgerufen werden können.
-
Hast du überhaupt Ahnung wovon du redest? Ich denke nicht...
-
hmmm...ich nenne mich schon nup,
also sagen wir so: es geht nicht.
ProcAdd = (MYPROC) GetProcAddress(hinstLib, "main");
hier muss ich (in dem fall "main") den funktionsname angeben damit es funktioniert, sonst tut es das nicht.
wie soll ich das denn sonst machen?
plz help
-
naja smaul kann ich auch groß aufreisen, aber sag mir
warum hilfst du mir nicht, wenn dus so gut kannst?
-
nup schrieb:
nup schrieb:
kann man eine dll so includen, dass sie von ihren anderen aufrufern wie gehabt weiterbenutzt werden kann ohne dass man header dateien bzw. libraries von ihr hat?
hier muss ich ja auch die funktionsnamen wissen...ich will sie einfach so drinhaben, dass die funktionen weiterhin von einer anderen datei aufgerufen werden können.
?!
Was stört eine andere Anwendung, wenn deine Anwendung die dll benutzt ?!
Wenn du Funktionen aus der dll benutzt, dann weisst du sowieso wie die Funktionen heissen.
Das gleiche gilt für andere Anwendungen......oder bin ich hier gerade völlig verpeilt ?!
-
geeky schrieb:
...oder bin ich hier gerade völlig verpeilt ?!
ne du hast mich nur falsch verstanden.
also ich hab ne exe, die benutzt eine dll.
ich kenn aber nicht alle funktionen der dll, und ich will aber in die dll was dazucoden...
d.h. ich muss eine neue dll schreiben, die diese "included", in die kann ich dann neue codes schreiben, und die andere dll soll wie zuvor darüber verlinkt werden sozusagen
-
Bei GetProcAddress genau nachlesen
lpProcName
Pointer to a null-terminated string containing the function name, or specifies the function’s ordinal value. If this parameter is an ordinal value, it must be in the low-order word; the high-order word must be zero. The lpProcName parameter must be in Unicode.Den Dependency Walker benutzen der liefer sowohl die NAmne der Funktionsn ala auch ihre Ordinalvalues
Der heißt depends.exe unf gehört zum VC 6.0
-
danke, aber ich blick nicht:
woher weiß der aus welcher dll ich das auslesen will?SELECT.SPECIAL(type_num, value_type, levels)
sind doch die einzigen parameter oder nicht?
was anderes hab ich in msdn bezüglich dependents nicht gefunden.
könntest mir vielleicht nen kurzen code dafür schreiben?
also ich brauch nur die funktionsnamen.
wär nett
-
SELECT.SPECIAL(type_num, value_type, levels)
Was ist das ??
Sieht für mich nicht aus nach ner C Funktion
-
wie gesagt, war des einzige was ich gefunden habe.
sonst nur direkt bei DEPENDENTS/DEPENDENTS schrieb:
Durch diese Option werden die Namen der DLLs angezeigt, aus denen das Bild Funktionen importiert. Zeigt die Namen der importierten Funktionen nicht an.
aber bild? 0peil ..
-
Du sollst den Dependency Walker benutzen, nicht bei DEPENDENTS in der MSDN nachlesen!
Der "Dependency Walker" gehört normalerweise zum Lieferumfang von VC++ 6.0!
Solltest Du ihn aber separat benötigen, kannst Du ihn HIER herunterladen!
Und nun erfreu Dich dran was der Dependency Walker Dir über Deine DLL erzählt...
-
Den Namen der DLL solltest du schon wissen, zumindest den must du bei dem loadlibrary ja angeben
-
den name weiß ich natürlich^^
ne also der depency walker geht auf der dll die ich brauch nicht, auf einer anderen, die ich geschrieben habe geht es zwar, aber da zeigt er mir auch nicht wirklich die funktionsnamen an, was ich ja eigenltich wollte
-
wenn das wirklich nicht gehen sollte, kannst du auch keine funktionen aus der dll benutzen.
wie lautet denn die fehlermeldung?
-
also dass ihr mich nicht falsch versteht, ich will einfach nur aus der dll die funktionsnamen rausfinden, um sie dann weiterleiten zu können
-
Also, mal abgesehen davon das man schon etwas Ahnung haben sollte, wenn man DLL's programmieren/erweitern will sag mal eben welche DLL Du da anschauen willst.
Dann können wir das hier vor Ort mal austesten, ob der Dependency-Walker wirklich keine Infos rausrückt...
Also, was für eine merkwürdige DLL ist das?
-
winsock.dll
-
Error: At least one file was not a 32-bit or 64-bit Windows module.