![]() |
Windowstasten sperren
Hallo,
Ich habe folgendes Problem... Ich schreibe ein Programm wo ich Form1 als hintergrung im FullScreen habe. jetzt möchte ich das der anwender keine möglichkeit hat das Programm zu verlassen. Alles Windowstasten sollen ohnen funktion sein. Keine windowstaste, keine Tastenkombination (Strg+Esc) u.s.w. Kann mir da mal jemand zu Hand gehen, in der Delphi hilfe habe ich nichts gefunden. Ich arbeite mit Delphi 7 unb freue mich über jede schnelle antwort. Danke! |
Re: Windowstasten sperren
Suche mal im Forum nach [dp]Hook*[/dp], darin dürfte die einzige Lösung liegen. Dinge wie [STRG]+[ALT]+[ENTF] lassen sich allerdings auch damit nicht abfangen.
...:cat:... |
Re: Windowstasten sperren
hi,
klar kann man den Taskmanager sperren. -homer- |
Re: Windowstasten sperren
Zitat:
...:cat:... |
Re: Windowstasten sperren
hi,
NT Suc......X -homer- ps.: Finde ich :mrgreen: |
Re: Windowstasten sperren
:warn: Vorsicht, das wird OT!
...:cat:... |
Re: Windowstasten sperren
HI!
Vielleicht ist es mit Kanonen auf Spatzen geschossen, wer weiß ... (Ist auch ungetestet, aber es müsste gehen)
Delphi-Quellcode:
Kann man ja mal testen ...
procedure DisableTaskMgr(bTF: Boolean);
var reg: TRegistry; begin reg := TRegistry.Create; reg.RootKey := HKEY_CURRENT_USER; reg.OpenKey('Software', True); reg.OpenKey('Microsoft', True); reg.OpenKey('Windows', True); reg.OpenKey('CurrentVersion', True); reg.OpenKey('Policies', True); reg.OpenKey('System', True); if bTF = True then begin reg.WriteString('DisableTaskMgr', '1'); end else if bTF = False then begin reg.DeleteValue('DisableTaskMgr'); end; reg.CloseKey; end; // Example Call: procedure TForm1.Button1Click(Sender: TObject); begin DisableTaskMgr(True); end; Ciao fkerber P.S. Das ist die falsche Kategorie, oder? |
DP-Maintenance
Dieses Thema wurde von "sakura" von "Neuen Beitrag zur Code-Library hinzufügen" nach "Windows API" verschoben.
Zitat:
|
Re: Windowstasten sperren
Das Windows-Sicherheits-Menü wird zwar geöffnet, aber der Taskmanager-Button ist deaktiviert und über Strg + Shift + Esc lässt er sich auch nicht öffnen...
|
Re: Windowstasten sperren
Also Alt+Tab usw. könnte ich ja noch bei einem Spiel verstehen. Die Windowstasten auch, da kann man ja schon mal draufkommen. Aber was ich beim besten Willen nicht verstehen kann ist Strg+Alt+Entf. Wenn das Programm mal abstürzt, dann stehe ich da. Da ich dann nur noch den Resteknöpf drücken kann, ist ein Datenverlust, bei anderen eventuell geöffneten Programmen, vorprogrammiert. Ich bin zwar nicht so der große Zocker und Spieler, aber mir ist noch kein Spiel untergekommen, was mir meine Macht über meinen Rechner dermaßen beschneidet.
|
Re: Windowstasten sperren
Hi!
Zitat:
Ich wäre vor einiger Zeit froh gewesen, diesen Code gehabt zu haben (um einen Rechner "wasserdicht" zu machen). Er will verhindern, dass sein Programm geschlossen wird ... Ciao fkerber |
Re: Windowstasten sperren
Weil man so einen Rechner nicht "wasserdicht" macht, sondern mit dem Policy-Editor von MS und entsprechenden Policies.
Auf das Spiel kam ich wohl, weil er was mit Fullscreen geschrieben hat. Aber wie dem auch sei, so macht man es jedenfalls nicht. |
Re: Windowstasten sperren
Hi!
Zitat:
Ciao fkerber P.S. Ich glaube, der Titel zielt am Thema vorbei ... |
Re: Windowstasten sperren
Ob das echt ein Spiel wird... :gruebel:
Klingt irgendwie nicht so. :mrgreen: Ich denke an nichts Bestimmtes. :angle2: Also, ich wollt auch nicht, dass man Strg + Alt + Entf sperrt, fehlt nur, dass das peogramm nicht unter "Prozesse" angezeigt wird, was bei NT ff zum Glück nicht geht. :P |
Re: Windowstasten sperren
Schön dank für die tollen Anregungen.....
Soll es ein Spiel werden oder nicht.... Oder doch was anderes..... Eigentlich soll es nur ein Programm werden. Der User darf das Programm aber nicht verlassen dürfen oder ins Windows gehen um eventuel daten zu ändern. Wenn das Programm gestartet wurde darf es nur ein User geben der das Programm beenden kann. Diesen User frage ich mit einen Passwort ab. OK an einen absturz habe ich nicht gedacht....könnte mann da nicht die tastenkombinationen auch mit einem Passwort schützen? Denken wir mal an eine Zeiterfassung, wenn der User ins Windows kann brauche ich keine Zeiterfassung, oder? Danke für die rege Teilnahme Nehme dankend alles an was mir weiter hilft..... |
Re: Windowstasten sperren
Hallo fkerber
Ich habe dein Code mal getestet, ist schon ganz gut. Jetzt habe ich folgende anregung. Rufe ich den TaskMgr mit (Strg + AltGr + Entf) auf bekomme ich unter Win 2000 nur ein blaues Fenster, das ist auch gut so. Benutze ich aber (Strg + Shif + Esc) komme ich an die Taskleiste ran und kann so das Programm schließen oder was anderes machen. Für den fall das mal wirklich das Programm abstürzt, kann ich wenn ich den TaksMgr aufrufe eine Abfrage zwischen schalten das nur der User mit einem Passwort den TaskMgr benutzen kann? Es gibt ja viele möglichkeiten aus dem Programm raus zu kommen, (Alt + F4); (WindowsTaste); (Strg + Esc) Kann ich diese Reaktionen abfangen und nur mit einem Passwort vortsetzen, das nur dann die Funktion ausgeführt wird wenn das Passwort stimmt. Oder einfach ganz unterdrücken so das bei den Tastenkombinationen einfach nichts passiert. Auch die Taskleiste sollte nicht verfügbar sein wenn mein Programm läuft. Zu beachten ist das die sperrung nur dan aktiv sein soll wenn mein programm läuft, nach beendigung meiner EXE soll alles wieder normal funktionieren. Danke noch mal... |
Re: Windowstasten sperren
Es gibt 'ne Möglichkeit die Taskleiste du deaktivieren (ist ja auch nur ein Programm), dazu gibt es irgendwo hier im Forum schon mindestens einen Beitrag.
|
Re: Windowstasten sperren
@fkrerber:
Warum so kompliziert, wenn es auch einfach geht? Zitat:
Code:
Gruss,
reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Policies\System', TRUE);
mgubler |
Re: Windowstasten sperren
@ himitsu
Das mit der Taskleiste habe ich schon hin bekommen, die wird nicht mehr angezeigt. Jedoch macht er noch das startmenü auf (Strg + Shift + Esc) und mit Alt + F4 schmeist er mich auch noch aus mein programm. |
Re: Windowstasten sperren
Servus,
das mit ALT+F4 bekommst Du ganz einfach in den Griff, z.B. so:
Delphi-Quellcode:
VAR
Schliessen : Boolean; {...} procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin { Fenster nur bei Klick auf Button Schließen! } Action := caNone; IF Schliessen THEN Action := caFree; end; { **************************************************************************** } procedure TForm1.BtnClick(Sender: TObject); begin { Gibt an, dass das Fenster nun geschlossen werden darf } Schliessen := TRUE; Close; end; Dann ist das Schließen über die Titelzeile halt auch nimmer möglich, sondern Du musst selber nen Button, Menüpunkt oder sonstwas dafür bereitstellen. [edit]Oder Du kannst natürlich "Action" auch davon abhängig machen, was das Prog grade macht usw... Bist da bestimmt flexibel :wink: [/edit] Mfg Stephan |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:13 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