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