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 Strg + Esc usw deaktivieren (https://www.delphipraxis.net/31857-strg-esc-usw-deaktivieren.html)

Karlson 14. Okt 2004 22:59


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.

Christian Seehase 14. Okt 2004 23:27

Re: Strg + Esc usw deaktivieren
 
Moin Karlson,

Zitat:

Zitat von Karlson
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,

:shock: :gruebel:

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]

Karlson 15. Okt 2004 16:15

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

Christian Seehase 15. Okt 2004 18:18

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.

Karlson 15. Okt 2004 19:53

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]

Christian Seehase 15. Okt 2004 23:27

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.

Karlson 16. Okt 2004 16:10

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

Luckie 17. Okt 2004 12:21

Re: Strg + Esc usw deaktivieren
 
So was testet man nicht am Entwicklungsrechner. dazu nimmt man eine VM oder einen Testrechner eben.

Karlson 17. Okt 2004 16:18

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.

Karlson 17. Okt 2004 20:47

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:
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;
Wenn der Explorer nicht zuerst als Shell wieder registriert wurde, öffnet er lediglich die Eigenen Dateien!!!


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