Einzelnen Beitrag anzeigen

Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#10

Re: HILFE! Noch einmal der Tastaturhook

  Alt 4. Mai 2010, 19:29
Zitat von idefix2:
P.S.: Wird eine DLL eigentlich automatisch entladen, wenn das Programm, das sie lädt, geschlossen wird, ohne FreeLibrary aufzurufen? Weil eigentlich brauch ich das Hauptprogramm nach dem Laden der DLL nimmer, aber der Hook soll wirksam bleiben, bis der PC abgeschaltet wird.
Diesmal bin ich mir sicher: Ja, und zwar ab Windows 2000!

Es geisterte sogar bis vor einiger Zeit im Internet und sogar in Computerzeitschriften (!) der „Geheimtip“, mit dem Registryeintrag „AlwaysUnLoadDLL“ (soweit ich mich entsinne, hieß er so) dieses automatische Entladen in jedem Falle sicherzustellen. Jedoch schrieb Mikroweich selbst, daß das seit Windows 2000 immer automatisch erfolgt und ab dann mithin überflüssig ist. Eine sauberere (und abwärtskompatible) Programmierung, das Entladen in das Programm explizit aufzunehmen, ist es aber allemal.

Edit: Auch ohne automatische Entladung könnte dieses Ansinnen aussichtslos sein, denn DLLs dürften, soweit ich weiß, nie ohne Hostprogramm funktionieren. Ist aber nur eine Vermutung meinerseits.

Edit2: Mit LoadLibrary mache ich gar nicht erst rum, das ist wohl der dynamischer Aufruf? Damit bin ich noch nie erfolgreich gewesen. Ich definiere einfach das Ziel der Funktionen in der Implementation (eben eine DLL), und damit bin ich erfolgreich und zufrieden. Wie gesagt, ab Windows 2000 wird das erfolglos sein, die DLL allein vor sich hinwerkeln zu lassen, und ältere Betriebsprogramme sind ziemlich selten geworden.
  Mit Zitat antworten Zitat