如何以编程方式使用C#重新启动explorer.exe

时间:2018-08-17 16:27:43

标签: c# cmd explorer

我一直在尝试重新启动explorer.exe,以便其他隐藏图标的脚本可以生效。我试图通过在C#程序中执行命令提示符窗口来做到这一点:

/k taskkill /f /im explorer.exe
start explorer.exe

当我运行它时,它的前半部分工作正常,并且explorer.exe被杀死,除了已经打开的文件之外,我的屏幕为黑色,但是当脚本的后半部分运行时,仅Windows资源管理器(文件经理)开始。顺便说一句,如果我在常规终端上启动cmd却无法通过我的C#程序,上述命令将起作用。我可以重新打开资源管理器的唯一方法是使用ctl + alt + del调出任务管理器并运行一个新的任务“ explorer”(不报价)。如果您知道如何解决此问题,请告诉我。谢谢

2 个答案:

答案 0 :(得分:0)

static void RestartExplorer()
    {
        string strCmdText;
        strCmdText = "/c taskkill /f /im explorer.exe";

        System.Diagnostics.Process.Start("cmd.exe", strCmdText);
        System.Threading.Thread.Sleep(500);
        Process.Start(Environment.SystemDirectory + "\\..\\explorer.exe");
    }

答案 1 :(得分:0)

类似这样的问题应该可以解决:

auto test = keybind->func;

使用这种方法,我没有遇到需要终止进程并重新启动之间的问题