Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi clrl+alt+del abfangen (https://www.delphipraxis.net/6850-clrl-alt-del-abfangen.html)

Illuminator-23-5 24. Jul 2003 18:56


clrl+alt+del abfangen
 
kann ich irgendwie ctrl+alt+del abfangen, sodass der Taskmanager nicht geöffnet wird?

heiopei 24. Jul 2003 19:06

Re: clrl+alt+del abfangen
 
Hallo Illuminator irgendwas,
weis nicht ob's funzt, aber du kannst mal versuchen im OnKeyDown(oder so)- ereignis den shortcut strg+alt+enf neu festzulegen. Wie das genau geht, weis ich nimma, aber in der hilfe müsste so was stehen.
good luck,
heiopei

Gast 24. Jul 2003 19:31

Re: clrl+alt+del abfangen
 
Unter 9x SystemParametersInfo() ... ist aber eine dumme Angwohnheit, so ein Programm würde bei mir nicht lange überleben.

Auf NT entweder Treiber schreiben, oder GINA ersetzen, oder die Policies zum Sperren des Taskmanager etc anpassen (falls es das ist was du willst).

Allerdings hätte eine Suche garantiert das gleiche gebracht.

Der obige Vorschlag mit dem neu Registrieren geht nicht!!!

NicoDE 24. Jul 2003 19:38

Re: clrl+alt+del abfangen
 
Beim Drücken von [Strg+Alt+Entf] wird der Windows Task-Manager nur gestartet, wenn die schnelle Benutzerumschaltung (Fast User Switching) aktiviert ist. Ansonsten erscheint bei der SAS (Secure Attention Sequence - üblicherweise [Strg+Alt+Entf], kann aber auch das Einlegen einer SmartCard sein) der Windows-Anmeldebildschirm. Für die SAS ist die GINA-DLL (Graphical Identification and Authentication) zuständig (Du müsstest also einen Ersatz für die MsGina.dll schreiben - nicht gerade trivial).
Nebenbei bemerkt hat der Task-Manager eine eigene Tastenkombination: [Strg+Umschalt+Esc]. Es würde also nichts nützen, die SAS abzufangen.
Der Task-Manager kann über eine Richtlinie (Policy) für den Benutzer oder das gesamte System komplett gesperrt werden.

Die kurze Antwort ist also: Nein.

MatthiasW 24. Jul 2003 20:08

Re: clrl+alt+del abfangen
 
Hallo,

um an die Tastenkombination zu kommen, must du einen Hook setzen, der sich in einer echten DLL(C - DLL) befindet. :!:

Zu verhindern das der WindowsTaskmanager nicht erscheint habe ich auch schon mal vergeblich versucht.

Mfg Matthias

NicoDE 24. Jul 2003 20:12

Re: clrl+alt+del abfangen
 
Zitat:

Zitat von MatthiasW
Hallo,

um an die Tastenkombination zu kommen, must du einen Hook setzen, der sich in einer echten DLL(C - DLL) befindet. :!:
[...]

Nützt insofern nichts, da sich Hooks nur auf Win32-Anwendungen in der gleichen Sitzung beziehen (und die user32.dll verwenden). Zudem wird die SAS vom Tataturtreiber nicht an Programme im Benutzermodus weitergereicht (kommt also nie beim Hook an).
[edit] Hotkey funktioniert auch nicht, da die GINA den schon registriert hat [/edit]

Gast 24. Jul 2003 20:32

Re: clrl+alt+del abfangen
 
Altes Problem, gelle Nico ;)

Schön dich auch mal wieder aktiv zu sehen. Haste mich schon vergessen? :hi:

NicoDE 24. Jul 2003 20:37

Re: clrl+alt+del abfangen
 
Zitat:

Zitat von Assarbad
Altes Problem, gelle Nico ;)

[...] Haste mich schon vergessen? :hi:

mea culpa :oops: nächste woche :angle:

ustra 18. Aug 2003 19:36

Re: clrl+alt+del abfangen
 
Ich bin seit heute einer anderen Meinung: Es ist möglich zu verhindern, dass der Taskmanager (unter XP und 2000) angezeigt wird. Es geht mit einem einfachen Trick. Ich sage aber nicht, wie ich es gemacht habe. Nur soviel: es ist mit einer Codezeile möglich.

Illuminator-23-5 18. Aug 2003 19:54

Re: clrl+alt+del abfangen
 
moin ustra!
du hast mich neugierig gemacht! du musst mirs nicht sagen, wenn du nicht willst.
ich hab mir folgendes gemacht:
mit einem timer könnte man überprüfen, ob der taskmanager läuft, falls ja, könnte man ihn beenden! wärs so möglich? oder wie hast du dir das gedacht, ustra?

ustra 18. Aug 2003 19:58

Re: clrl+alt+del abfangen
 
genau so habe ich es gemacht und funktioniert auch wunderbar. ist eigentlich ganz simpel. ich wollte es eigentlich nciht posten, weil es sonst möglicherweise ärger von anderen leuten gibt (admin), weil es doch ein eingriff ins system ist. code will ich aber nciht posten, da sonst anfänger mist bauen könnten.

Alexander 18. Aug 2003 20:08

Re: clrl+alt+del abfangen
 
Zitat:

mit einem timer könnte man überprüfen, ob der taskmanager läuft, falls ja, könnte man ihn beenden! wärs so möglich? oder wie hast du dir das gedacht, ustra?
Naja nicht wirklich ne tolle Möglichkeit...
Aber ich meine mal was im Internet gefunden zu haben, womit das geht (zumindest unter XP).
Man muss irgendein Schlüssel in der Registry erstellen oder verändern.
Weiß ich nicht mehr so genau...
Wahrscheinlich hier irgendwo:
HKEY_CURRENT_USER / Software / Microsoft / Windows / CurrentVersion und dann muss man suchen ;-)

Illuminator-23-5 18. Aug 2003 20:19

Re: clrl+alt+del abfangen
 
dazu braucht man aber admin-rechte, die hat man als user nicht immer!!

Daniel B 18. Aug 2003 20:24

Re: clrl+alt+del abfangen
 
Unter welchen OSs soll denn das überhaupt gehen? Alle?

Illuminator-23-5 18. Aug 2003 20:27

Re: clrl+alt+del abfangen
 
ich brauchs unter win2k

Assarbad 18. Aug 2003 20:46

Re: clrl+alt+del abfangen
 
Also willst du es komplett abfangen? Das deaktivieren der Optionen Taskmanager/Logoff/Sperren/Paßwort-Ändern reicht nicht?

Dann schreib eine eigene GINA. Unter WNT/W2K/WXP geht das!

Alexander 19. Aug 2003 09:00

Re: clrl+alt+del abfangen
 
Also meine Version geht glaube ich nur unter XP (!)
Mhm das mit den Admin-Rechten stimmt, leider :mrgeren: *sichganzbösesachenausdenk* :mrgreen:

Matze 19. Aug 2003 10:10

Re: clrl+alt+del abfangen
 
Hi!
Hier ist vielleicht was Brauchbares, aber ich hab's nicht getestet. Eine Hacker-Seite - Ach Quatsch, Spaß. :wink:

http://www.pc-adviser.de/coding.htm#topic2

Gruß Matze

Alexander 19. Aug 2003 10:17

Re: clrl+alt+del abfangen
 
Aber ich glaube das geht nur unter WIn9x, oder?
Zumindest das mit Alt+F4 (CanClose=False) müsste unter Nt ff nicht funktionieren...

Stanlay Hanks 19. Aug 2003 10:21

Re: clrl+alt+del abfangen
 
Das glaub ich hatten wir oben schon mal, dass das nur mit 98 geht. Ich glaube einfach, dass das nicht gerade leicht ist. (Gina etc neu schreiben - hört sich zumindest nicht leicht an :mrgreen:). Trotzdem noch viel Glück.

Man liest sich, Stanlay :hi:

Matze 19. Aug 2003 10:27

Re: clrl+alt+del abfangen
 
Sorry, das habe ich nicht gewusst, dass es nur unter Win9x geht.
Aber an einer guten Lösung wäre auch ich interessiert, da ich WinXP hab. :wink:

Alexander 19. Aug 2003 10:32

Re: clrl+alt+del abfangen
 
Mhm unter XP geht es ja so wie ich es bereits geschildert habe, allerdings brauchst du Admin-REchte. (musst allerdings nach dem entsprechenden Reg-Schlüssel ncoh suchen...)
Ich weiß nicht genau, aber vielleicht funktioniert der Quelltext von deiner seite für's Sperren vom TaskManager ja doch, ich weiß nur dass das mit Alt+F4 nicht geht.

Beckman 5. Feb 2005 14:47

Re: clrl+alt+del abfangen
 
der regschluessel is folgender:

Zitat:

HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Policies\System
dort ein DWORD wert machen: DisableTaskMgr, diesen auf 1 setzen um den task manager zu deaktivieren.

Luckie 7. Jul 2005 22:48

Re: clrl+alt+del abfangen
 
Zitat:

Zitat von Illuminator-23-5
mit einem timer könnte man überprüfen, ob der taskmanager läuft, falls ja, könnte man ihn beenden!

Mit Strg+Alt+Entf kommt kein Taskamanger (unter Windows 2000 unter XP kann man das bestimmt auch so einstellen), sondern der "Windows-sicherheits" Dialog.

alcaeus 7. Jul 2005 22:56

Re: clrl+alt+del abfangen
 
Zitat:

Zitat von Luckie
unter Windows 2000 unter XP kann man das bestimmt auch so einstellen

Unter Windows XP kommt der Taskmanager nur, wenn die grafische Anmeldung aktiviert ist. Bei der "klassischen Anmeldung" erscheint auch unter XP der "Windows Sicherheits-Dialog".

Greetz
alcaeus

fylo 8. Jul 2005 08:43

Re: clrl+alt+del abfangen
 
Hi,

Passt vielleicht nicht ganz und hat eigentlich auch nix mit Delphi zu tun, aber ich habe bei mir AutoHotkey auf dem Rechner und wenn ich mir einen Hotkey für Control+Shift+ESC definiere, kann ich verhindern, das der Taskmanager kommt. Mit Control+Alt+Entf gehts leider nicht!

Olli 8. Jul 2005 12:21

Re: clrl+alt+del abfangen
 
Strg+Alt+Entf wird von Winlogon.exe (also nichtmal von der GINA, die dies allerdings rückgängig machen könnte, weil sie im gleichen Prozeß läuft ;) ) registriert. Da Winlogon.exe so ziemlich der erste Prozeß nach dem Session Manager ist (smss.exe) wird es dir kaum gelingen "schneller zu sein".

glkgereon 12. Jul 2005 07:04

Re: clrl+alt+del abfangen
 
also der oben genannte reg-key, den gibts auch in win2k.

ich würd sagen, man nimmt aufgrund des Aufwand/Nutzen-Faktors die Timer-Methode :)

Luckie 12. Jul 2005 07:08

Re: clrl+alt+del abfangen
 
Und wenn ich ein anderes programm zum Prozess beenden nehme?

glkgereon 12. Jul 2005 07:22

Re: clrl+alt+del abfangen
 
dann wird dies auf die übliche methode "deaktiviert"...oder?

Luckie 12. Jul 2005 07:31

Re: clrl+alt+del abfangen
 
Welche übliche?

glkgereon 12. Jul 2005 07:35

Re: clrl+alt+del abfangen
 
fenster in den hintergrund, lock.exe nach vorne, man kommt net mehr dran...

Edit: F***, ich hab 2 Thread gemixt.
ich hab den grad eben verlinkten Thread gelesen, wos um diese Bildschirmsperre lock.exe ging.
sorry, bitte streichen :)

perle 12. Jul 2005 08:06

Re: clrl+alt+del abfangen
 
du könntest auch einfach den Taskmanager (taskmgr.exe) mit SW_HIDE starten. Da er sich nur einmal starten lässt, kann man ihn nun nichtmehr starten , weil er ja schon offen ist....aber damit anfangen kann man auch nichts, weil man ihn ja nicht sieht....Der Schönheit wegen könntest noch das Trayicon entfernen.

----

Andere Möglichkeit: wenn du nicht willst, dass jemand Programme auf deinem!? Rechner beendet, dann käme evtl auch ein API Hook in Frage (TerminateProcess etc)

Olli 12. Jul 2005 09:31

Re: clrl+alt+del abfangen
 
Zitat:

Zitat von glkgereon
dann wird dies auf die übliche methode "deaktiviert"...oder?

Welches ist denn die "übliche methode"? Wenn wir hier von API-Hooks reden, ist das zwar durchaus eine Möglichkeit, aber es ist eben nicht sonderlich sauber.

Zitat:

Zitat von perle
Andere Möglichkeit: wenn du nicht willst, dass jemand Programme auf deinem!? Rechner beendet, dann käme evtl auch ein API Hook in Frage (TerminateProcess etc)

Darf ich bezweifeln, daß ein Hook "oberhalb" der NTDLL überhaupt was bringt, auf NT. Wie man sieht, müßte also (wenn 9x unterstützt werden soll) eine Sonderbehandlung für NT existieren.

Zitat:

Zitat von glkgereon
fenster in den hintergrund, lock.exe nach vorne, man kommt net mehr dran...

Das ist die "übliche methode"? Angenommen ich schreibe jetzt eine neue Konsolenanwendung, welche mir erlaubt Prozesse zu beenden. A.) wie machst du es dann, B.) meine Konsolenanwendung heißt mal: x4yvHpw0KXspnpUcRGkhKFLkl98QAEW7wPYWqI3GEnPEorLiDq AgXkfVyinPX7rGPUl0uWP17yDeJyJTjRGKB8zKgX5kXjXuRuAR
und mal x9fET4Ayx9HRXtixIqt4LNQPXvSKVOapuanx1M72N5edJVsIxI 3fvgMDQoWGqkP6tI2IHBmbxImUATWeuSTF9K1soGJrE5NhzAxJ
(.exe natürlich).

Wie findest du die?

NicoDE 12. Jul 2005 09:37

Re: clrl+alt+del abfangen
 
Zitat:

Zitat von perle
du könntest auch einfach den Taskmanager (taskmgr.exe) mit SW_HIDE starten.

Ähm, vielleicht ist es wiedermal 'überlesen' worden: Der TaskManager hat nichts mit der Secure Attention Sequence (Strg+Alt+Entf) zu tun. Unter Windows XP wird der TaskManager dadurch nur gestartet, wenn die 'Schnelle Benutzerumschaltung' aktiviert ist. Statt das Problem zu lösen, bekämpft man nur die Symptome...
Ganz davon abgesehen, dass es oft keinen vernünftigen Grund gibt, auf einem 'normalen' System die SAS zu verbieten. Systeme bei denen dies notwendig ist, werden speziell konfiguriert (Änderungen der Systemeinstellungen, welche in 99% der Fälle nicht ohne Neustart auskommen).

Olli 12. Jul 2005 09:55

Re: clrl+alt+del abfangen
 
@Mods: Könntet ihr bitte mal den Titel korrigieren (entweder "clrl"->"ctrl" oder gleich einen sinnvollen, dem Anliegen angemessenen, Titel).

Wir haben im Verlauf des Themas gelernt, daß jemand eine konkrete Frage stellt ("ctrl+alt+del abfangen", taskmgr nicht erlauben), ohne seine wirkliche Frage zu stellen: Wie verhindere ich, daß der Anwender einen Prozess beendet.

Ja, auch das kann man verhindern, denn genau wie Dateien und Registryschlüssel haben auch Prozesse eine Sicherheitsbeschreibung und ACLs.

Aber worum genau geht es hier denn? In meinen 6 Jahren als Netzadmin gab es keinen Grund, warum der Benutzer nicht ein Programm zum Beenden von Prozessen haben sollte. Im Gegenteil: es ist sehr mühselig von jedem LUser angesprochen zu werden, wenn mal ein Prozess hängt (ich sage nur MS Word :kotz: ). Was ist also die Absicht dahinter? Könnte man das vielleicht mal erfahren und dann mglw. eine alternative Lösung suchen? Wir reden ja hier hoffentlich von Benutzern mit eingeschränkten Benutzerrechen. Deshalb gehe ich mal davon aus, daß es äußerst sinnvoll sein würde die ACLs des Prozesses durch einen sicheren Drittprozeß (Service?!) setzen zu lassen und für normale Benutzer das Schließ0en zu verhindern. Wenn der Nutzer aber volle Rechte zur Ausführung von PSEXEC mit Servicemodul genießt, ist's Pech!

Codewalker 30. Apr 2008 08:01

Re: clrl+alt+del abfangen
 
Auch wenn dieser Thread sehr alt ist, würde ich ihn gerne mal aus der Versenkung holen.
Ich schreibe gerade ein kleines Tool zur automatischen Softwareverteilung in unserer Firma. Problem ist, dass ich während der Installation (mit AutoIt) den User davon abhalten will, irgendetwas zu klicken oder zu drücken, da sonst das Skript nicht immer sauber läuft. Dazu würde ich mit BlockInput Maus und Tastatur sperren.

Problem: Strg+Alt+Entf startet Taskmanager/Sicherheitsdialog und hebt BlockInput damit auf. Wie kann ich das (für einen namentlichen User, der für die Installation genutzt wird) vollständig sperren und nur über eine geheime Tastenkombination freigeben (für die die es kennen: Soll so sein wie bei Symantec LiveState Delivery / On Command CCM)?

Luckie 30. Apr 2008 08:50

Re: clrl+alt+del abfangen
 
Zitat:

Zitat von Codewalker
Problem ist, dass ich während der Installation (mit AutoIt) den User davon abhalten will, irgendetwas zu klicken oder zu drücken, da sonst das Skript nicht immer sauber läuft.

Sorg besser dafür, dass dein Skript ohne Fehler abläuft als den Computer unbrauchbar zumachen. Und was ist, wenn der Benutzer wirklich mal diese tastenkombination benötigt? Desweiteren sollte ein Admin wissen, was er tut. Und normale Bneutzer sollten gar keinen Einfluss auf dein Skript haben.

Codewalker 30. Apr 2008 09:17

Re: clrl+alt+del abfangen
 
Es läuft ja alles unter dem Account eines Admins. Daher möchte ich verhindern, dass der eingeschränkte User irgendetwas machen kann. Ist die Installation fertig, wird der Admin wieder abgemeldet und der User kann mit seinem Account weiterarbeiten. Es ist also nicht nur das Skript.

LiveState (stirbt leider dank Symantec aus) geht sogar so weit und loggt automatisch beim Windows-Start den Installationsuser ein (wenn Aufträge anstehen), installiert und wenn alles fertig ist, sieht der User wieder die Windows-Anmeldung. Bis dahin kann er nichts tun und muss warten. Als Admin kann ich das über eine geheime Tastenkomination (Strg+Alt+Shift + ein dreistelliges Wort tippen) die Blockade aufheben und im Notfall eingreifen. Wie auch immer Livestate das macht :gruebel:

Luckie 30. Apr 2008 09:23

Re: clrl+alt+del abfangen
 
Zitat:

Zitat von Codewalker
Es läuft ja alles unter dem Account eines Admins. Daher möchte ich verhindern, dass der eingeschränkte User irgendetwas machen kann.

Wenn der Admin interaktiv angemeldet ist, wie kann dann der benutzer was an dem Rechner machen? Abbrechen kann er das Update sowieso nicht, da es von einem anderen Bneutzer gestartet wurde. Und wenn dein Skript fehlerhaft funktioniert, wenn der anwender Word startet, dann ist dein Skript Mist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:03 Uhr.
Seite 1 von 2  1 2      

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