启动explorer.exe在C#中无法正常工作

时间:2010-11-25 16:52:15

标签: c# process.start

我正在尝试在C#中创建一个简单的应用程序,允许我杀死并启用explorer.exe。我需要这样的程序,以便我可以正确地玩Age of Empires 2,因为它出于某种原因不喜欢explorer.exe(我相信它与Aero有关)。所以我做了两个按钮,一个启用explorer.exe,另一个禁用它。杀死explorer.exe没问题,但启用却没有。

我在一些网站上看到您必须使用Process.Start();来启动流程。所以我做了Process.Start("explorer.exe");。杀死explorer.exe后,它执行了上一行,但没有让我的任务栏恢复,它只打开了“Libraries”而没有给我的任务栏。我也试过Process.Start("explorer.exe", "-p");(我在某处看到过),但是打开了“我的文档”。

我该怎么做才能启动explorer.exe进程,以便我可以使用任务栏这样的东西?我仍然可以使用命令提示符/任务管理器/运行来正确启动它。

1 个答案:

答案 0 :(得分:0)

that主题中的解决方案:

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");
}

试一试。