C# 启动explorer.exe不是';t在C中工作正常#

C# 启动explorer.exe不是';t在C中工作正常#,c#,process.start,C#,Process.start,我正在尝试用C#制作一个简单的应用程序,它允许我杀死并启用explorer.exe。我需要这样的程序,这样我才能正确地玩《帝国时代2》,因为出于某种原因它不喜欢explorer.exe(我相信它与Aero有关)。所以我做了两个按钮,一个启用explorer.exe,另一个禁用它。杀死explorer.exe还行,但启用却不行 我在一些网站上读到,你必须使用Process.Start()启动一个进程。所以我做了Process.Start(“explorer.exe”)。在杀死explorer.ex

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

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

我该怎么做才能启动process explorer.exe,这样我就可以恢复任务栏之类的功能?我仍然可以使用命令提示符/taskmanager/Run正确启动它。

主题中的解决方案:


试一试。

此外,这个问题相当类似——实际上,你之前给出的链接(你说的链接与我的问题类似)起了作用。我没有处理.Start(@“c:\\windows\\explorer.exe”);这非常有效。谢谢不要硬编码到资源管理器的路径。调用Envoromment.WindowsDirectory。不过这并不重要,只是为了我自己。虽然我对c#非常陌生,但如果我使用Environment.WindowsDirectory,具体的代码会是什么样子?另外,visual c#无法识别“WindowsDirectory”部分。@Burak:
Path.Combine(Environment.GetFolderPath(Environment.SpecialFolders.SystemRoot),“explorer.exe”)
很高兴听到这个消息,很高兴能帮上忙,
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");
}