![]() |
Strg + Esc usw deaktivieren
Hallo,
Ich hab ein login-Programm geschrieben. Dass Prog öffnet beim Start einfach im Vollbild und lässt sich ohne pw nicht beenden. unter xp hat das alles geklappt, das Problem ist, das man jetzt allerdings unter win2k einfach str + esc drücken kann, und dann über Startmenü Programme starten kann, die dann auch benutzen kann. Ich muss also strg + esc und strg + tab deaktivieren, über einen hook möchte ich das nur ungern machen, so leid es mir tut, aber das tutorial von Assarbad verstehe ich nicht... Habt ihr noch irgendwelche anderen Ideen? danke. |
Re: Strg + Esc usw deaktivieren
Moin Karlson,
Zitat:
also bei meinem XP funktioniert, z.B., [STRG]+[ESC] auch. Je nachdem, wozu es gut sein soll, kann man ein Programm einfach als Shell eintragen, statt des Explorers, um viele Möglichkeiten zu blockieren. [EDIT] Aber schaff' Dir bloss ein Hintertürchen, damit Du die "normale" Shell wieder zurückbekommst, ohne den Rechner neu aufzusetzen ;-) [/EDIT] |
Re: Strg + Esc usw deaktivieren
Das mit dem als shell eintragen hört sich gut an...aber ich weiss nicht wie das geht :) Kannst du mir das bitte erklären oder suchbegriffe nennen?
danke |
Re: Strg + Esc usw deaktivieren
Moin Karlson,
schau Dir mal HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon an Dort findest Du einen Wert Shell Was dort eingetragen wird, wird als Shell gestartet. Wie gesagt: Wenn Du Dir keinen Weg überlegst hier wieder etwas anderes einzutragen, könnte es sein, dass Du den Rechner neu aufsetzen musst, um wieder "normal" mit dem System zu arbeiten. Eventuell funktioniert es das eigene Programm über den Taskmanager abzuschiessen, und dann den Explorer zu starten. Das habe ich aber noch nicht ausprobiert. |
Re: Strg + Esc usw deaktivieren
Hi Christian,
ohoh, da frag ich aber lieber mal um Rat bevor ich da unsinn mache: Also wäre es nicht möglich bei der richtigen Passworteingabe mein Programm zu beenden und daraufhin mit shellexecute oder createprocess den Explorer zu starten, oder funktionieren diese Funktionen ohne den Explorer gar nicht mehr? Auf der anderen Seite könnte man im Notfall doch auch einfach wieder die explorer.exe als shell registrieren und dann einen Neustart machen? danke Karlson[b] |
Re: Strg + Esc usw deaktivieren
Moin Karlson,
so intensiv habe ich das bislang nicht ausprobiert, da ich nur mal einen Rechner richtig "dichtmachen" musste, aber ich wüsste jetzt keinen Grund, warum normale Funktionen wie ShellExecute bzw. CreateProcess nicht gehen sollten. Leider habe ich jetzt kein Testsystem zur Hand, auf dem ich das mal ausprobieren könnte, aber ich sehe da folgende Möglichkeiten: Solange ein Programm als Shell aktiv ist, wird ein Explorer in der "normalen" Ansicht gestartet, oder der erste Explorer im System erhält die "gewohnte" Windows Ansicht mit Startleiste, Desktop usw. Als Sicherheit könntest Du noch eine Funktion einbauen, die die Shell wieder auf Explorer.exe setzt. |
Re: Strg + Esc usw deaktivieren
Jo dann werd ich das jetzt wohl mal ausprobieren, wenn ihr nichts mehr von mir hören solltet dann bedeutet das wohl das das Experiment fehlgeschlagen ist :mrgreen: Nein, scherz, windows ist in 20 minuten neu installiert, und alles wichtige ist auf der anderen HD, also ich melde mich obs geklappt hat, ist für andere bestimmt auch intressant.
bis denne karlson |
Re: Strg + Esc usw deaktivieren
So was testet man nicht am Entwicklungsrechner. dazu nimmt man eine VM oder einen Testrechner eben.
|
Re: Strg + Esc usw deaktivieren
Ja sicher, aber ich mach das ganze nicht so wirklich professionell, folglich habe ich auch keinen Testrechner.
Und ob ich den Test oder Entwicklungsrechner dann im Endeffekt formatieren muss, macht bei meinen Daten keinen Unterschied. |
Re: Strg + Esc usw deaktivieren
Also die ganze Sache funktioniert einwandfrei. Ist nur ein bisschen was zu beachten, ich poste den Quellcode meines Testprogramms, der ist selbsterklärend und so funktioniert alles:
Delphi-Quellcode:
Wenn der Explorer nicht zuerst als Shell wieder registriert wurde, öffnet er lediglich die Eigenen Dateien!!!
procedure TForm1.Button1Click(Sender: TObject);
var Reg : TRegistry; begin reg := TRegistry.Create; //Erst den Shell wieder zurücksetzten!!! with reg do begin try RootKey := HKEY_LOCAL_MACHINE; OpenKey('Software\Microsoft\Windows NT\CurrentVersion\Winlogon', true); WriteString('Shell', 'Explorer.exe'); finally showmessage('Done'); reg.Free; end; try ShellExecute(0, //Dann den Explorer starten! Nil, PChar('C:\winnt\explorer.exe'), Pchar(''), Pchar(''), SW_NORMAL); finally close; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:55 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