Entwickler-Ecke

Sonstiges (Delphi) - Windows Tastenkombinationen


Hux - Mi 10.08.05 12:29
Titel: Windows Tastenkombinationen
Hallo Leute...,

Ich habe wieder mal ne Frage an euch:
Wie kann Tastenkombinationen von meinem Programm ausführen lassen?
Z.B: STRG+ALT+ENTF...

Danke im Vorraus...!

Der Hux


BenBE - Mi 10.08.05 12:42

Normale User-Level-Tastenkombinationen gehen mit Suche in: Delphi-Forum, Delphi-Library SENDKEYS, Low-Level-Tastenkombinationen wie STRG+ALT+ENTF müssen speziell gesendet werden. Genaures zum Vorgehen bei zweiterem kann ich dir nicht geben, da ich's noch nicht ausprobiert hab.


Allesquarks - Mi 10.08.05 13:15

Ich dachte immer unter Windows ist gerade das gute, dass bestimmte Tastenkombinationen immer von Windows behandelt werden (damit kein zweiter Log-In-Screen übergeblendet werden kann und s.o. (oder ist das nur in Windows 2000 fest integriert?).

Würde also denken, dass Du vielleicht die Information erhältst, dass Strg-Alt-entf gedrückt wurde, aber einen Aufruf des Task-Managers nicht verhindern kannst.


BenBE - Mi 10.08.05 13:40

Bestimmte Tastenkombinationen (wie z.B. Strg+Alt+Entf werden direkt im KernelMode abgefangen, weshalb man diese auch unter WNT++ nicht abfangen kann (außer man schreibt sich dafür einen eigenen Treiber).

Eigene Login-Screens bauen ist möglich (hatten wir erst vor kurzem), indem man Suche im MSDN CREATEDESKTOP nutzt.

Das Umleiten von Systemtastenkombis ist nicht möglich. Jedoch würd man über fast alle per WM_SYSCOMMAND und WM_SYSKEY informiert. Ausnahme hier ist wiedermal der beliebte Affengriff, da dieser einen Kontext-Switch auslöst und den aktiven Desktop wechselt ;-)


Hux - Mi 10.08.05 19:00

Es muss nicht STRG+ALT+ENTF sein.
Könnt ihr mir sagen wie ich normale Tastenkombis wie z.B:
ALT+TAB senden kann?

Der Hux


BenBE - Mi 10.08.05 21:51

Wenn Du deine Delphi-CD in dein CD-Laufwerk legst, dann müsstest Du darauf eine Unit SendKeys.pas finden. Kopier Die einfach mal in dein Projekt-Verzeichnis, binde sie in dein Projekt ein und sieh dann weiter. Ansonsten nutz bitte den Suchlink in meinem ersten Post.