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 Tastenkombis blokieren (https://www.delphipraxis.net/36568-tastenkombis-blokieren.html)

DymonD 21. Dez 2004 20:51


Tastenkombis blokieren
 
Hi,
ich habe eine Frage: Ich möchte die Tastenkombis
  • WIN+D
  • STRG+ALT+Entf.
  • ALT+TAB
  • ALT+F4
speren, sodass man die Anwendung weder beenden noch minimieren noch sonstwas damit machen kann (So eine Art Schutz-Screen).
Wie kann ich das am Besten machen?

THX im Voraus

dizzy 21. Dez 2004 20:52

Re: Tastenkombis blokieren
 
Dazu gibt es schon 1001 Threads hier. Einfach mal mutig auf [Suchen] klicken ;)

PierreB 21. Dez 2004 21:06

Re: Tastenkombis blokieren
 
Moin,

auf die schnelle hab ich das gefunden:

Klick

Klick2

Tubos 21. Dez 2004 21:14

Re: Tastenkombis blokieren
 
Wegen STRG+ALT+ENTF sperren: das ist nicht ohne Eingriff ins System möglich.
Wurde alles schonmal diskutiert, such einfach unter Hier im Forum suchenTastatur sperren.

DymonD 21. Dez 2004 21:39

Re: Tastenkombis blokieren
 
Hi,
schön und gut, dass ihr mal Links postet... in dessen Beiträgen eigentlich um das Thema umgegangen wird. Ich würde mich aber freuen, wenn einer wirklich eine sinnvolle Lösung und vielleicht auch ein Source postet... *enttäuscht-sei* :( :?

dizzy 21. Dez 2004 22:38

Re: Tastenkombis blokieren
 
Das ist ja gerade das Problem: Bei WinNT/XP/200* gibt es keine Lösung, bzw. muss man jedes OS einzeln behandeln, und bei den NT-basierten sind, wenn es überhaupt möglich ist, tiefgehende Eingriffe nötig.
Ich bin zwar nicht mehr ganz auf dem neusten Stand, aber ich meine dass die Essenz der hier geführen Disskusionen in etwa lautet: Bei NT nicht alles sperrbar.

Von daher wird man dir hier wahrscheinlich keinen Code posten können. Evtl. gibt es zu ein paar Tastenkombis Lösungen, aber imho nicht zu allen.

Luckie 21. Dez 2004 23:34

Re: Tastenkombis blokieren
 
Zitat:

Zitat von DymonD
Hi,
schön und gut, dass ihr mal Links postet... in dessen Beiträgen eigentlich um das Thema umgegangen wird. Ich würde mich aber freuen, wenn einer wirklich eine sinnvolle Lösung und vielleicht auch ein Source postet... *enttäuscht-sei* :( :?

Wie sollen wir Code posten, wenn es keinen gibt? Ich dachte das wäre im Laufe der Diskussionen klar geworden. Allerdings beschleicht mich das Gefühl, wenn ich mir dein letztes Posting so durchlese, dass du dir gr nicht die Mühe gemacht hast die verlinkten Threads du4ch zu lesen.

Es stellt sich außerdem die Frage, warum du das erreichen willst? Und gerade auch Strg+Alt+Entf. Jetzt sag nicht, das wird eine Anwendung für ein Internet Café. Erstens macht man einen Rechner anderes dicht (mit Policies) und zweitens müsste der Mark gerade zu überschwemmt sein mit Software für Internet Cafés. ;)

DymonD 22. Dez 2004 12:45

Re: Tastenkombis blokieren
 
Hi Luckie,

ich habe ein Proggi geschrieben, dass den Monitor "vereist", also quasi Image-Vollbild. Nun darf das Programm aber weder minimiert noch beendet werden, da es ansonsten für die Füße wäre. Und wie beendet man die Programme? ALT+F4 (<- das konnte ich abfangen, per Hotkey) oder abscheißen mit dem Taskmanager. Problem verstanden? :lol:

dizzy 22. Dez 2004 14:03

Re: Tastenkombis blokieren
 
Für mich klingt das irgendwie wieder nach so einem tollen "Damit ärger ich meinen Chef"-Programm, weil einen anderen Verwendungszweck kann ich mir beim besten Willen nicht vorstellen :roll:

Luckie 22. Dez 2004 14:15

Re: Tastenkombis blokieren
 
Zitat:

Zitat von DymonD
Hi Luckie,

ich habe ein Proggi geschrieben, dass den Monitor "vereist", also quasi Image-Vollbild. Nun darf das Programm aber weder minimiert noch beendet werden, da es ansonsten für die Füße wäre.

Und warum? Wa smacht denn das Programm, dass es nicht geschlossen werden darf?

Zitat:

Und wie beendet man die Programme? ALT+F4 (<- das konnte ich abfangen, per Hotkey)
Wozu braucht man dafür einen HottKey? Man muss ja nicht alles wissen, kann es auch nicht. Aber du versuchst hier tiefgreifend ins System einzugreifen, kennst dich aber noch nicht mal mit deinem Werkzeug (Delphi) richtig aus. Masch dich mal mit Systemsicherheit unter Windows vertraut, dann haben wir eine Grundlage zum Diskutieren.

Zitat:

Problem verstanden?
Nö.

perle 23. Dez 2004 11:05

Re: Tastenkombis blokieren
 
damit du trotzdem noch ein paar Stichworte hast um mal selber nach einer Lösung zu suchen:

"normale" Tastenkombinationen kannst du mit Hooks sperren

Bei strg+alt+entf geht das nicht so einfach. Soweit ich darüber gelesen hab, geht das nur, indem du dir entweder eine neue Gina schreibst, oder einen neuen Tastaturtreiber (und das dann wohl nicht in Delphi). Dazu musst du dich natürlich schon richtig gut mit Delphi auskennen.

Wenn das für deinen eigenen PC sein soll (damit kein anderer ran kann...) : es gibt andere Möglichkeiten , dass man den Taskmanager nichtmehr aufrufen kann. Als Hinweis gebe ich dir mal das Stichwort "Mutex". Außerdem gibt es auch schon Komponenten für Delphi, die eine Gina implementiert haben...also wenn du einmal richtig danach gesucht hättest, hättest du soetwas sicher schon gefunden.

Den Taskmanager kannst du übrigens (wies auch schon in den anderen Threads steht) über die Registry deaktivieren und das reicht für dein Programm (falls du die Funktion hier richtig beschrieben hast) voll und ganz aus.

Ansonsten --> BlockInput() dann is auch alles dicht ;-)

Luckie 23. Dez 2004 12:34

Re: Tastenkombis blokieren
 
Zitat:

Zitat von perle
Wenn das für deinen eigenen PC sein soll (damit kein anderer ran kann...) : es gibt andere Möglichkeiten , dass man den Taskmanager nichtmehr aufrufen kann. Als Hinweis gebe ich dir mal das Stichwort "Mutex".´

Was hat jetzt ein Mutex damit zu tun? Und wenn es für den eigenen ist, was hindert ihn daran einfach Benutzer anzulegen?

Zitat:

Außerdem gibt es auch schon Komponenten für Delphi, die eine Gina implementiert haben...
Äh, könntest du mal einen Link geben? Ich kenne jemanden, den würde das sehr interessieren.

Zitat:

Den Taskmanager kannst du übrigens (wies auch schon in den anderen Threads steht) über die Registry deaktivieren und das reicht für dein Programm (falls du die Funktion hier richtig beschrieben hast) voll und ganz aus.
dann muss er aber auch alle Programme deaktivieren, mit denen man die Registry bearbeiten kann.

Zitat:

Ansonsten --> BlockInput() dann is auch alles dicht ;-)
Ein mal Strg+Alt+Entf und BlockInput ist aufgehoben.

Christian Seehase 23. Dez 2004 12:37

Re: Tastenkombis blokieren
 
Moin Luckie,

Zitat:

Zitat von Luckie
dann muss er aber auch alle Programme deaktivieren, mit denen man die Registry bearbeiten kann.

was aber praktisch nicht durchführbar ist.

Ein interaktiver Registry Editor, der sich nicht um die Policies kümmert, oder einfach die Kommandozeilenzugriffe mit RegEdit genügen schliesslich schon, um das zu umgehen. :?

perle 23. Dez 2004 13:43

Re: Tastenkombis blokieren
 
Zitat:

Zitat von Luckie
Was hat jetzt ein Mutex damit zu tun? Und wenn es für den eigenen ist, was hindert ihn daran einfach Benutzer anzulegen?

naja, der Taskmanager legt einen Mutex an. Diese werden doch soweit ich weiss z.b. dazu benutzt, dass man ein Programm nur einmal starten kann, ich dachte mir zuerst ich könnte dann einfach einen Mutex anlegen, der den gleichen "Bezeichner" hat sodass windows vielleciht glaubt, dass der Taskmanager schon gestartet wurde...aber er hat einen Timeout eingebaut...allerdings könnte man den Taskmanager manuell mit SW_HIDE starten und das Icon im TNA löschen. Wenn man dann strg+alt+entf drückt dann öffnet sich weder ein zweiter Taskmanager noch wird der alte wieder sichtbar. Ist natürlich ne richtig unelegante Lösung aber funktioniert immerhin

Zitat:

Äh, könntest du mal einen Link geben? Ich kenne jemanden, den würde das sehr interessieren.
ich schick dir nen Link per PN. Ob du ihn dann hier posten willst sollst du dann bitte entscheiden.

Zitat:

dann muss er aber auch alle Programme deaktivieren, mit denen man die Registry bearbeiten kann.
aber wenn er seine applikation als Vollbild macht und andere Tastenkombinationen wie alt+tab etc blockt, wie will man dann ein solches Programm starten?

Zitat:

Ein mal Strg+Alt+Entf und BlockInput ist aufgehoben.
[/quote]
Ok hast gewonnen, das wusste ich nicht. Ich halte mich generell von solchen Befehlen fern....geht nur was kaputt ;-)

Tubos 23. Dez 2004 13:59

Re: Tastenkombis blokieren
 
Zitat:

Den Taskmanager kannst du übrigens (wies auch schon in den anderen Threads steht) über die Registry deaktivieren und das reicht für dein Programm (falls du die Funktion hier richtig beschrieben hast) voll und ganz aus.
Achso?
Ein Schüler meiner Schule hat in C++ einen Taskmanager programmiert. Das ist einfach ne kleine EXE, mit der man alle Programme beenden kann die man mit dem Windows-Taskmanager auch beenden könnte. Eine Sperre des Windows-Taskmanagers ist also relativ sinnlos.

Zitat:

ich schick dir nen Link per PN. Ob du ihn dann hier posten willst sollst du dann bitte entscheiden.
Bitte poste den Link doch hier, es gibt bestimmt viele die sowas auch brauchen können.

Zitat:

Ein mal Strg+Alt+Entf und BlockInput ist aufgehoben.
Das hilft aber nur dann wirklich wenn man durch STRG+ALT+ENTF ins Menü "Windows-Sicherheit" kommt. In diesem Menü schlägt jeder Aufruf von BlockInput fehl und man kann sich im "Notfall" abmelden.
Bei Windows 2000 ist das so, bei XP ist es auch möglich aber standardmäßig wird da der Taskmanager aufgerufen. Und während dieser aktiv ist kann die Tastatur weiterhin gesperrt werden. Wenn man jetzt BlockInput in einer Endlosschleife aufruft, kann der Benutzer wirklich nichts mehr machen.
Ich weiß dass das so beabsichtigt ist, aber finde trotzdem dass es gewissermaßen eine Sicherheitslücke in Windows ist.

perle 23. Dez 2004 14:03

Re: Tastenkombis blokieren
 
[quote="Tubos"]
Zitat:

Achso?
Ein Schüler meiner Schule hat in C++ einen Taskmanager programmiert. Das ist einfach ne kleine EXE, mit der man alle Programme beenden kann die man mit dem Windows-Taskmanager auch beenden könnte. Eine Sperre des Windows-Taskmanagers ist also relativ sinnlos..
lies dir doch mal durch, was der Themenstarter damit zu erreichen versucht. natürlich kann man sich eigene Ersatzprogramm recht einfach zusammenzimmern aber die musst du auch erstmal 1. auf den Rechner 2. gestartet bekommen. Das soll ja keine Allgemeinlösung, sondern nur eine auf sein Problem zugeschnittene Lösung sein.

Zitat:

Bitte poste den Link doch hier, es gibt bestimmt viele die sowas auch brauchen können.
Ich überlasse es Luckie den Link hier zu posten wenn er es für richtig hält.

PS : (ich weiss ich entfache jetzt wieder Sinnlose Diskussionen) man kann auch die TerminateProcessApi hooken, damit man im Taskmanager keine Programme mehr beenden kann *duck* über den Sinn kann man jetzt natürlich wieder streiten, aber das wäre wohl OT

NicoDE 23. Dez 2004 14:06

Re: Tastenkombis blokieren
 
Wenn der Benutzer-Account nicht die Rechte zum Beenden der Prozesse und zum Ändern der Policies hat (sonst sind sie relativ sinnlos), dann stellt sich die Frage, warum tausende APIs überwacht und Tools blockiert werden müssen...

mika 23. Dez 2004 14:12

Re: Tastenkombis blokieren
 
OFF TOPIC

Zitat:

Zitat von perle
...
Bei strg+alt+entf geht das nicht so einfach. Soweit ich darüber gelesen hab, geht das nur, indem du dir entweder eine neue Gina schreibst, oder einen neuen Tastaturtreiber
...

Ich will mir auch eine Gina schreiben.... und ne Petra und ne Susanne und noch eine Hildegard für die Wäsche :)

GINA -> das nenn ich mal ne sexy Abkürzung für etwas das mit programmieren zu tun hat :) !



wollt ich nur mal kurz gesagt haben ;)

DymonD 25. Dez 2004 01:22

Re: Tastenkombis blokieren
 
Hi,
na super! Da versucht man etwas auf die Beine zu stellen, und schon werden einem nur Steine in den Weg gelegt 8o| . Ein Kumpel von mir hat das programmiert, und es funzt wunderbar. Ich frage mich, wie er es geschafft hat, und der kann auch nicht mehr Delphi als ich. |^(
Hiermit würde ich gerne die Diskussion beenden.

Luckie 25. Dez 2004 01:32

Re: Tastenkombis blokieren
 
Er hat was geschafft? Ich kann deine Delphi Kenntnisse nicht einschätzen, aber mann muss eingentlich nur in der Lage sein Funktionen aufzurufen und man muss die grundlegensten Sprachkonstrukte beherrschen. Und das kann man an einem Vormittag drauf haben. Das weitaus größere Problem und damit auch wesentlich zeitaufwendiger, ist zu verstehen, wie das Betriebssystem funktioniert - und zwar tief im innersten.

Hier legt dir auch keiner Steine in den Weg, man versucht dir nur zu erklären dass es weitaus mehr Wissen über das Betriebssystem erfordert, als man braucht, um einen einfachen Texteditor zu schreiben. Und letztendlich versuchen wir dir klar zu machen, dass es seinen Sinn hat gerade die letzte Fluchttür nicht abschließen zu können. Nehmen wir an du bearbeitest gerade deine hundertseitige Diplomarbeit. Dummer weise hat sich WinAmp gerade überlegt, "ich hänge mich jetzt auf und verursache eine 100% Systemauslastung". Dein Diplomarbeit ist ungespeichert in der Textverabeitung geöffnet - und nu? Jetzt hat dir der Admin aber dummer weise den Taskmanger und/oder Strg+Alt+Entf gesperrt. Auf vorsätzlichen Mord steht in Deutschland Lebenlänglich, bei guter Führung sind das 15 Jahre. ;)

Und warum fragst du nicht einfach deinen Freund? Wenn er dir auch nicht den Code gibt, den Trick wird er dir verraten, wenn auch nur um anzugeben.

Assarbad 25. Dez 2004 02:45

Re: Tastenkombis blokieren
 
Zitat:

Zitat von DymonD
Hi,
ich habe eine Frage: Ich möchte die Tastenkombis
  • WIN+D
  • STRG+ALT+Entf.
  • ALT+TAB
  • ALT+F4
speren, sodass man die Anwendung weder beenden noch minimieren noch sonstwas damit machen kann (So eine Art Schutz-Screen).
Wie kann ich das am Besten machen?

Hi Dima, oder kann ich Privet sagen? ;)

Wie oben schon erwähnt. Eine GINA kann das leisten. Die SAS (Ctrl+Alt+Del ist eine Standard-SAS) wird von Winlogon.exe noch vor allen anderen Prozessen registriert, daher kann man es nur blockieren, wenn man die GINA, welche von Winlogon.exe geladen wird, entsprechend konzipiert.

ABER: nur weil man es kann, heißt es nicht, daß man es auch sollte. Hier wäre die Frage was genau du beschränken willst. Stell dir vor es gibt einen Castortransport und deswegen werden deutschlandweit _alle_ Straßen gesperrt. Das ist es, was du im Prinzip vorhast. Beschränke dich auf die nötigsten Restriktionen.

Achso, es geht auch noch eine Variante, wo man einen aktiven Bildschirmschoner simuliert. Aber nur auf Windows 9x!

Gruß,

Assarbad 25. Dez 2004 02:49

Re: Tastenkombis blokieren
 
Zitat:

Zitat von NicoDE
Wenn der Benutzer-Account nicht die Rechte zum Beenden der Prozesse und zum Ändern der Policies hat (sonst sind sie relativ sinnlos), dann stellt sich die Frage, warum tausende APIs überwacht und Tools blockiert werden müssen...

... weil die bösen Treiber-Gurus sagen, daß man kein SSDT-Hooking machen darf ;) ... dann könnte man nämlich von vornherein das Laden bestimmter EXEs über JEGLICHE Usermode-APIs, welche auf NtCreateProcess basieren, verbieten :mrgreen:

Ich schreib schon ne Weile an sowas. Ist aber ziemlicher Debugaufwand, daher noch nix was ich als Version freigeben würde.

DymonD 2. Jan 2005 15:47

Re: Tastenkombis blokieren
 
Hi,

@Luckie:
Wenn du mir damit sagen willst, dass das, was ich vorhabe, kein Sinn macht, dann stimme ich dir jetzt zu. Schließlich kann man den Rechner auch neustarten. Außerdem hat Win XP genug Bugs, um an Daten ohne Zugriffsrechte zu kommen.
PS: Das mit der Diplomarbeit ist echt witzig, aber etwas übertrieben.

@Assarbad:
Ja du kannst auch Privet sagen. Keine Ahnung, woher du das hast, aber die Anspielung - falls es eine sein sollte - habe ich verstanden und bestätige es.

<OFF-TOPIC>
Kann man denn der Tastatur sagen: "Ignoriere alle Eingaben, beachte nur die Tastenkombination [STRG-ALT-WasWeißIch]"?
</OFF-TOPIC>

OK, Danke allen für die fleißigen Beiträge. Ich glaube nicht mal mein Kumpel nutzt das Programm *gg*, also bringt's wohl nicht.

Thema beenden?? :mrgreen:

Assarbad 2. Jan 2005 17:15

Re: Tastenkombis blokieren
 
Privet ;)

Zitat:

Zitat von DymonD
Ja du kannst auch Privet sagen. Keine Ahnung, woher du das hast, aber die Anspielung - falls es eine sein sollte - habe ich verstanden und bestätige es.

War keine Anspielung sondern vielmehr eine ernste Frage. Anhand des Namens (und Nicks) hatte ich es nur vermutet.

Zitat:

Zitat von DymonD
<OFF-TOPIC>
Kann man denn der Tastatur sagen: "Ignoriere alle Eingaben, beachte nur die Tastenkombination [STRG-ALT-WasWeißIch]"?
</OFF-TOPIC>

Schwerlich. Mit einem Tastaturfiltertreiber sollte es aber gehen. Oberhalb dieser Ebene wohl eher nicht.

DymonD 3. Jan 2005 13:06

Re: Tastenkombis blokieren
 
Zitat:

Zitat von Assarbad
War keine Anspielung sondern vielmehr eine ernste Frage. Anhand des Namens (und Nicks) hatte ich es nur vermutet.

Na egal, jedenfalls habe ich es gepeilt :mrgreen:

Zitat:

Zitat von Assarbad
Schwerlich. Mit einem Tastaturfiltertreiber sollte es aber gehen. Oberhalb dieser Ebene wohl eher nicht.

Lass mich raten, damit sollte es nicht experimentiert werden, oder?? :mrgreen:

Luckie 3. Jan 2005 17:45

Re: Tastenkombis blokieren
 
Läßt sich auch nicht mit Delphi schreiben.

DymonD 4. Jan 2005 20:01

Re: Tastenkombis blokieren
 
Hi,
OK, danke, alles klar, ich lasse die Finger von :-D


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