Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   SetWindowsHookEx ... geht systemweit auch ohne DLL ... ? (https://www.delphipraxis.net/155084-setwindowshookex-geht-systemweit-auch-ohne-dll.html)

jaenicke 8. Okt 2010 08:05

AW: SetWindowsHookEx ... geht systemweit auch ohne DLL ... ?
 
Zitat:

Zitat von toms (Beitrag 1054429)
Diese drei Hooks müsen sich nicht in einer dll befinden, all anderen Hooks schon (IIRC)

Richtig, eben genau die Hooks, die für Maus- und Tastatureingaben bzw. deren Aufzeichnung zuständig sind, gehen auf diese Weise.

Zitat:

Zitat von Luckie (Beitrag 1054432)
Das heißt, die Dokumentation ist an diesem Punkt unvollständig bzw. ungenau?

Ich vermute MS wollte hier dann keine Ausnahmen für diese Fälle in die Doku schreiben, da es mit DLLs eben immer funktioniert. Und wie gesagt, das mag sich für diese Hooks ja auch einmal ändern.

SirThornberry 8. Okt 2010 20:26

AW: SetWindowsHookEx ... geht systemweit auch ohne DLL ... ?
 
Ich glaube es stand auch schonmal richtig im MSDN. Vielleicht kann ja mal einer der Delphi7 hat in der entsprechenden Hilfe nachschauen. Ich glaube da wurden eben die LL-Hooks gesondert aufgeführt.

toms 8. Okt 2010 20:47

AW: SetWindowsHookEx ... geht systemweit auch ohne DLL ... ?
 
Interessant in diesem Zusammenhang:
Why aren't low-level hooks injected?

Wichtig:
Zitat:

Low-level hooks are consequently very expensive; don't leave them installed when you don't need them.

Christian Seehase 8. Okt 2010 21:04

AW: SetWindowsHookEx ... geht systemweit auch ohne DLL ... ?
 
Moin Jens,

Zitat:

Zitat von SirThornberry (Beitrag 1054620)
Vielleicht kann ja mal einer der Delphi7 hat in der entsprechenden Hilfe nachschauen. Ich glaube da wurden eben die LL-Hooks gesondert aufgeführt.

also im SDK-Auszug, der bei D7 dabei ist, wird gar nichts von LL-Hooks erwähnt, und die Erklärung, ob die Callback-Routine in einer DLL liegen muss ober nicht, ist gleiche, wie man sie aktuell online im MSDN nachlesen kann.

himitsu 8. Okt 2010 21:32

AW: SetWindowsHookEx ... geht systemweit auch ohne DLL ... ?
 
Warum die "normalen" Hooks in einer DLL liegen müssen
(oder in der EXE, worin geziehlt lokal gehookt wird)
ist doch bestimmt klar?

Diese Hooks werden direkt angesprungen und es werden womöglich größere Strukturen als Parameter übergeben, weswegen sie im selben Adressraum liegen müssen, wie die gehookte Prozedur.


Diese Low-Level-Hooks laufen vermutlich auf Windows-Ebene, also noch außerhalb der Anwendungen ab, von wo aus dann die eigene Hookprozedur über das System im eigenen Prozess aufgerufen wird.

jaenicke 9. Okt 2010 08:45

AW: SetWindowsHookEx ... geht systemweit auch ohne DLL ... ?
 
Zitat:

Zitat von himitsu (Beitrag 1054626)
Diese Low-Level-Hooks laufen vermutlich auf Windows-Ebene, also noch außerhalb der Anwendungen ab

Habe ich ja schon geschrieben. ;-)
Das läuft über den Desktop Window Manager.
// EDIT:
Und steht in dem Link von toms ja auch nochmal.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:54 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz