Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   Explorer.exe als Shell starten (https://www.delphipraxis.net/82484-explorer-exe-als-shell-starten.html)

jensw_2000 14. Dez 2006 08:44


Explorer.exe als Shell starten
 
Normalerweise prüft der Explorer, wenn er gestartet wird, ob er in der System.ini (Win9x) oder in der Registry (> Win9x) als Shell eingertagen ist. Wenn ja startet er sich als Windows-Shell (Startleiste etc.).

Ich verwende zur Zeit aus experimentellen Gründen die CMD.EXE als Shell.
Wenn ich jetzt aus der Commandline die Explorer.exe starte, dann öffnet sich nur ein Explorer-Fenster. Der Rest (Startleiste etc.) wird nicht geladen.

Kennt jemand zufällig einen Weg (Parameter o.Ä.) um dem Explorer mitzuteilen, das dieser als "neue" Shell starten soll ?



Schöne Grüße,
Jens
:hi:

marabu 14. Dez 2006 09:29

Re: Explorer.exe als Shell starten
 
Hallo Jens,

zumindest scheint es keinen Schalter dafür zu geben: Command-Line Switches for Windows Explorer

Freundliche Grüße

jensw_2000 14. Dez 2006 09:37

Re: Explorer.exe als Shell starten
 
Ich habe eben noch etwas experimentiert.
Aus meiner Commandline habe ich regedit gestartet und anschließend den Registry Key Winlogon\Shell wieder zurück auf die Explorer.exe gedreht. Wenn ich die Explorer.exe dann aud der CMD starte, öffnet sich dieser ebenfalls nur als Explorer-Fenster.
Scheinbar bestimmt also nicht der Explorer, als was er starten soll (Shell oder Applikation).

Kann es sein, das die Userinit.exe für meine Zwecke ge(miss)braucht werden kann ?

SirThornberry 14. Dez 2006 09:41

Re: Explorer.exe als Shell starten
 
Ich kann dir nur indirekt helfen - Wenn man auf einem neuen Desktop (CreateDesktop) die Explorer.exe startet so wird der Explorer dort auch als Shell gestartet obwohl er auf einem anderen Desktop des gleichen Users bereits als Shell läuft. Es wird also wohl auch geprüft ob auf dem aktuellen Desktop bereits der Explorer als Shell läuft.

jensw_2000 14. Dez 2006 09:49

Re: Explorer.exe als Shell starten
 
Korrektur:
Zitat:

Zitat von jensw_2000
Ich habe eben noch etwas experimentiert.
Aus meiner Commandline habe ich regedit gestartet und anschließend den Registry Key Winlogon\Shell wieder zurück auf die Explorer.exe gedreht. Wenn ich die Explorer.exe dann aud der CMD starte, öffnet sich dieser ebenfalls nur als Explorer-Fenster.

Ich habe versehentlich meinen Test-Shelleintrag unter HKEY_Current_User verändert.
Wenn ich den richtigen Shell-Wert (Local_Machine) in Explorer.exe ändere, dann startet die exe als Shell...

MagicAndre1981 14. Dez 2006 10:10

Re: Explorer.exe als Shell starten
 
dann musst du dir eine Bat-Datei erstellen die dann immer den Wert setzt.

Btw, warum hast du den CMD-Prompt als Shell?

jensw_2000 14. Dez 2006 10:23

Re: Explorer.exe als Shell starten
 
Zitat:

Zitat von MagicAndre1981
Btw, warum hast du den CMD-Prompt als Shell?

Das ist nur eine Testumgebung.
Ich muss bis morgen ein Tool basteln, das ich in einer Terminalserverungebung auf 150 XP-Embedded basierten Thinclients als Shell verwenden kann. In meinem Tool soll es nur 2 Buttons geben (Verbindung zum Terminalserver herstellen und Windows herunterfahren). Soweit ganz Easy.
Nur ... ich möchte als Admin auch irgendwann mal an die Maschinen herankommen.
Daher will ich, wenn der angemeldete Benutzer lokale Admin-Barechtigungen hat, mein Tool beenden und die Explorer.exe als Shell starten. So bleibt der Thin-Client administrierbar.

Blöd ist nur, das sich der Explorer nicht als Shell öffnet.

Als Umweg würde ich, wenn lokale Admin-Rechte vorhanden sind, halt den Shell Eintrag in der Registry auf die Explorer.exe drehen, den Explorer starten und dann den Shell-Eintrag wieder auf mein Tool zurückdrehen.

Ich halte das jedoch für eine Notlösung, weil es theoretisch passieren kann, das mein Tool oder Windows zufällig abschmiert, bevor mein Tool wieder als Shell eingetragen wurde. Dann hat der "dumme" Benutzer beim nächsten ANmelden einen Explorer und kann spielen .... :roll:

Light 14. Dez 2006 10:40

Re: Explorer.exe als Shell starten
 
Hi Ihr,

also ich hab hier WinXP Prof SP2 .
Ich hab hier jetzt ungefär 5 Konten Angelegt.
Diese Sind einfach bestimmten Tätigkeitsbereichen zugeordnet.
Und auf manchen Läuft auch meine Eigene Anwendung als Exclusive Shell!
Allerdings hab ich auch normale Konten.
Also könntest du doch für die Benutzer einfach dein Prog eintragen und für das Admin-konto ganz normal den explorer!

Leuchtende Grüße

Stefan

MaBuSE 14. Dez 2006 10:49

Re: Explorer.exe als Shell starten
 
Zitat:

Zitat von jensw_2000
Blöd ist nur, das sich der Explorer nicht als Shell öffnet.

Bei einem "normalen" NT4, W2k & XP ist es so, dass man mit dem TaskManager die explorer exe beenden kann. (z.B. wenns hängt)
Dadurch verschwindet natürlich auch der Startbutton.
Also Windows läuft, aber es ist keine Shell geladen.
Im Taskmanager, der ja noch offen ist, kann man mit der Ausführen Funktion im Menü einen neuen Explorer starten, der zeigt auch wieder den Start Button an. Es werden auch nochmal alle Autostart Programme geladen (obwohl die ja schon geladen sind)

Das kann ja jeder einfach selbst testen.

Vieleicht hilft Dir diese Info weiter ;-)

jensw_2000 14. Dez 2006 17:18

Re: Explorer.exe als Shell starten
 
Zitat:

Zitat von Light
Hi Ihr,
...
Und auf manchen Läuft auch meine Eigene Anwendung als Exclusive Shell!
Allerdings hab ich auch normale Konten.
Also könntest du doch für die Benutzer einfach dein Prog eintragen und für das Admin-konto ganz normal den explorer! ...

Schade, das hätte klappen können ...
Ich habe testweise unter HKEY_LOCAL_MACHINE mein Programm als Shell eingetragen und beim Administrator die Explorer.exe Es geht insofern, das beim Anmelden der User mein Tool startet und beim Anmelden des Administrators die Explorer.exe. Leider nur als Fenster (ohne Startleiste etc.)

Anders herum kann ich es den Administratoren nicht zumuten. Die müssten ja für jedes Benutzerprofil mein Programm als Shell unter HKEY_Current_User eintragen.... Am .Default Profil will ich nicht unbedingt rumschrauben.

[qoute="MaBuSe"]
Vieleicht hilft Dir diese Info weiter
[/quote]
Leider nein. Den Explorer kann man über den Taskmanager killen. Wenn man die Explorer.exe über Task>neu wieder startet, schaut die exe, ob unter "hkey_local_machine\software\ms\windows nt\currentversion\winlogon\" Explorer.exe in der Shell Property steht. Wenn das so ist startet die exe mit Tastleiste usw. ansonsten nur als Fenster.


Ich habe mich jetzt für die Notlösung entschieden und schreibe den Shell-Eintrag um, wenn sich ein Admin anmeldet. Dann lase ich die Explorer.exe und schreibe wieder mein Tool in den Shell-Eintrag.
Das geht soweit, auch wenn es sicher nicht die schönste Lösung ist.


Danke für Eure Anregungen.
Schöne Grüße,
Jens
:hi:


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