Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Hook wird durch strg alt del unterbrochen (Windows7) (https://www.delphipraxis.net/147708-hook-wird-durch-strg-alt-del-unterbrochen-windows7.html)

Khaly1 14. Feb 2010 17:50


Hook wird durch strg alt del unterbrochen (Windows7)
 
Hallo zusammen!


ich habe momentan folgendes Problem und würde mich freuen, wenn mir jemand helfen könnte:

Ich will mir ein kleines Hotkey-Tool schreiben, das bestimmte Tastendrücke erkennt und darauf reagiert.
Dafür arbeite ich mit Hooks.

Es funktioniert soweit alles ganz prächtig...bis ich strg+alt+entf drücke.

Ich verwende Windows7 und anstatt dem Task Manager öffnet sich dieser Auswahlbildschirm, der einem die Wahl zwischen "Computer Sperren, Benutzer wechseln ... Taskmanager" ermöglicht.
Anscheinend wird genau dann mein Hook beendet.

Der Timer in der Anwendung läuft allerdings problemlos weiter und somit auch die Anwendung...es werden nur keine Tastendrücke mehr erkannt.

Nun meine Frage:

Gibt es ein Ereignis, das aktiviert wird, wenn man den erwähnten Auswahlbildschirm verlässt? OnCreate und OnActivate scheinen nicht zu funktionieren.
Ich würde gern darauf reagieren und den Hook erneut setzen.

Oder gibt es eine Möglichkeit mit SetWindowsHookEx den Hook so zu setzen, dass er durch strg+alt+entf nicht unterbrochen wird?



Die Suchfunktion konnte mir leider nicht weiterhelfen...habe nur Threads zum Thema "TaskManager sperren" gefunden und das wollte ich vermeiden.


Ich hoffe mir kann jemand weiterhelfen :)

Grüße

Khaly

Dezipaitor 14. Feb 2010 19:47

Re: Hook wird durch strg alt del unterbrochen (Windows7)
 
Wenn man Strg+Alt+Entf drückt, dann wird der Desktop auf eine sichere Anzeige gewechselt. Darin funktionieren keine normalen Programmhooks, weil das eine Sicherheitslücke wäre.

Aber ich sehe nicht, warum der Hook unterbrochen werden sollte, außer dass du etwas falsch gemacht hättest. Zeige einfach deinen Code, so wie du ihn verwendest.


[UPDATE]
Axo ja, und natürlich funktionieren Hooks nicht auf anderen Desktops als auf dem Threads Desktop, der SetWindowsHookEx aufgerufen hat.

Muetze1 14. Feb 2010 20:15

Re: Hook wird durch strg alt del unterbrochen (Windows7)
 
Die meisten Hooks werden bei STRG-ALT-ENTF, STRG-SHIFT-ESCape etc. entfernt. Ist sogar entsprechend in der WinAPI dokumentiert und du wirst über das unwind direkt dadrüber informiert.

Basilikum 15. Feb 2010 06:53

Re: Hook wird durch strg alt del unterbrochen (Windows7)
 
Zitat:

Zitat von Khaly1
[..] Ich will mir ein kleines Hotkey-Tool schreiben, das bestimmte Tastendrücke erkennt und darauf reagiert.
Dafür arbeite ich mit Hooks. [..]

gibt es einen zwingenden Grund, weshalb du Hooks verwendest ? unter Umständen würde auch MSDN-Library durchsuchenRegisterHotKey reichen...

Khaly1 16. Feb 2010 02:02

Re: Hook wird durch strg alt del unterbrochen (Windows7)
 
Hey!

Vielen Dank euch allen für die Antworten!

Nun weiß ich wenigstens dass es gewollt ist, dass der Hook entfernt wird.
Ich verstehe nur nicht wie mich "das Unwind" darüber informiert...wenn mir da jemand sagen könnte, wo ich nachlesen kann würde ich mich freuen :)

Werde mir nun aber auch mal RegisterHotKey angucken! Glaub damit gehts sogar einfacher :]



Grüße

Khaly1

toms 16. Feb 2010 04:07

Re: Hook wird durch strg alt del unterbrochen (Windows7)
 
Um was für einen Hook handelt es sich (Parameter, welcher SetWindowsHookEx übergeben wird) ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:38 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