7 votes

Process.Start("explorer.exe") ; ne ramène pas la barre des tâches.

En ce moment, je travaille sur une maquette d'OS via WinForms pour l'utiliser comme accessoire pour des films. Lorsque l'application est lancée, elle tue explorer.exe afin que la barre des tâches de Windows ne s'affiche pas accidentellement pendant un tournage. Le problème est qu'en fermant le système d'exploitation factice, j'aimerais que explorer.exe soit relancé. Cependant, Process.Start("explorer.exe"); fait apparaître une fenêtre d'exploration, et ne rétablit pas la barre des tâches de la fenêtre.

Je sais pertinemment que le gestionnaire de tâches est plus que capable de ramener la barre des tâches de la fenêtre en tapant "explorer.exe" sous une nouvelle tâche, bien que je n'aie pas eu de chance de trouver des arguments de ligne de commande à passer au gestionnaire de tâches.

Editar: Je fonctionne sous Windows 7. De plus, je vais assez loin avec ce système d'exploitation factice. Je prends le contrôle d'un certain nombre de touches que Windows utilise. C'est pourquoi je tue explorer.exe afin de pouvoir utiliser des touches telles que "Alt-Tab" et afficher un simili-sélecteur d'applications, etc. L'application fonctionne déjà en plein écran, mais il est toujours possible de faire réapparaître l'interface graphique sous-jacente de Windows. Je remplace essentiellement explorer.exe par ma propre maquette d'explorateur. Lorsque je ferme mon explorateur personnalisé, je n'arrive pas à faire réapparaître l'interface graphique normale de Windows en lançant explorer.exe via Process.Start(); .

14voto

AceJordin Points 422

De aquí :

Essayez

Process.Start(Path.Combine(Environment.GetEnvironmentVariable("windir"), "explorer.exe"));

Il semble que vous devez spécifier le chemin complet de l'explorateur pour récupérer la barre des tâches.

0voto

YILDIRIM Points 11

De aquí :

Explorer doit voir certaines conditions remplies pour être lancé en tant que shell :

  1. Explorer ne doit pas être exécuté (ce qui inclut le Panneau de configuration, par exemple)
  2. Explorer doit voir qu'il s'agit du shell actuel - d'où la nécessité de remplacer cette valeur avant de lancer explorer.exe (vous pouvez la changer à nouveau quelques secondes plus tard).
  3. Il semble parfois (sur les nouvelles versions de Windows) que cela dépende du processus qui lance explorer.exe - s'il est "connu" d'explorer.exe -- Je n'ai pas plus de détails pour cette partie cependant (et vous ne pourriez pas le changer, malheureusement).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X