3

我正在尝试用 C# 制作一个简单的应用程序,它允许我杀死并启用 explorer.exe。我需要这样的程序才能正常玩帝国时代 2,因为它不喜欢 explorer.exe 出于某种原因(我相信它与 Aero 有关)。所以我做了两个按钮,一个启用 explorer.exe,另一个禁用它。杀死 explorer.exe 没问题,但启用没有。

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

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

4

1 回答 1

0

主题的解决方案:

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

试一试。

于 2010-11-25T17:00:55.013 回答