AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SetWindowsHookEx und WH_SHELL

Ein Thema von PeterPanino · begonnen am 12. Okt 2023 · letzter Beitrag vom 14. Okt 2023
 
PeterPanino

Registriert seit: 4. Sep 2004
1.472 Beiträge
 
Delphi 10.4 Sydney
 
#1

SetWindowsHookEx und WH_SHELL

  Alt 12. Okt 2023, 12:17
Hallo!

Ich möchte informiert werden, wenn systemweit irgend eine App ein Top-Level-Fenster erzeugt. Zu diesem Zweck habe ich eine DLL geschrieben, in der dieser Code ausgeführt wird:

hHook := SetWindowsHookEx(WH_SHELL, @ShellProc, HInstance, 0);

In der Host-App wird in FormCreate die DLL aufgerufen (sowohl Host-App als auch DLL sind 32-Bit). Die Host-App wird natürlich im Windows 10 File-Explorer gestartet (nicht von der IDE).

Die Benachrichtigung funktioniert auch sehr gut - nur: Kurze Zeit nach dem Klick auf den UNHOOK-Button verabschiedet sich die Delphi IDE aus dem Speicher! Irgend etwas scheint mit dem Ent-Hooken nicht zu funktionieren?

Vielleicht gibt es hier jemanden, der mehr Erfahrung mit Hooks hat als ich? Wäre toll, wenn wir das gelöst kriegten!

Hier sind die Quell-Dateien:

TopLevelWindowCreationNotification.zip

Mein System: Delphi 11 in Windows 10
Geändert von PeterPanino, damit der Platz auf dem Bildschirm nicht so leer aussieht.

Geändert von PeterPanino (12. Okt 2023 um 12:35 Uhr)
  Mit Zitat antworten Zitat
 

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz