Запуск explorer.exe не работает должным образом в C # - PullRequest
3 голосов
/ 25 ноября 2010

Я пытаюсь создать простое приложение на C #, которое позволит мне убить и включить explorer.exe.Мне нужна такая программа, чтобы я мог правильно играть в Age of Empires 2, потому что она почему-то не нравится explorer.exe (я думаю, что это связано с Aero).Итак, я сделал две кнопки, одна из которых включает explorer.exe, а другая - его.Уничтожение explorer.exe прошло нормально, но включение не произошло.

Я читал на нескольких сайтах, что для запуска процесса нужно использовать Process.Start();.Итак, я сделал Process.Start("explorer.exe");.После убийства explorer.exe он выполнил предыдущую строку, но вместо того, чтобы вернуть мою панель задач, он открыл «Библиотеки» только без возврата моей панели задач.Я также попытался Process.Start("explorer.exe", "-p"); (где-то видел), но это открыло «Мои документы».

Что я могу сделать, чтобы он запустил процесс explorer.exe, чтобы у меня были такие вещи, как панель задач?Я все еще могу запустить его должным образом с помощью командной строки / Диспетчер задач / Выполнить.

1 Ответ

0 голосов
/ 25 ноября 2010

Решение в этой теме:

foreach(Process p in Process.GetProcesses())
{
    try
    {
        // Compare it with "explorer".
        if(p.MainModule.ModuleName.Contains("explorer") == true)
        {
            p.Kill();
        }
    }
    catch(Exception e)
    {
        // Do some exception handling here.
    }

    // Restart explorer.
    Process.Start("explorer.exe");
}

Дайте этому шанс.

...