我正在编写一个程序来杀死并重新启动浏览器,但我不想硬编码位置,因为有些人在不同的地方安装了窗口(例如,我发现有人安装了它D:\驱动器在C:\驱动器确实存在,但没有安装任何东西)以编程方式在c#中查找windows文件夹#
我试过在Environment.SpecialFolder下查找。但我没有看到下面的“窗口”选项
这样做的最佳方式是什么?
我正在编写一个程序来杀死并重新启动浏览器,但我不想硬编码位置,因为有些人在不同的地方安装了窗口(例如,我发现有人安装了它D:\驱动器在C:\驱动器确实存在,但没有安装任何东西)以编程方式在c#中查找windows文件夹#
我试过在Environment.SpecialFolder下查找。但我没有看到下面的“窗口”选项
这样做的最佳方式是什么?
http://msdn.microsoft.com/en-us/library/77zkk0b6.aspx
尝试这些:
Environment.GetEnvironmentVariable("SystemRoot")
Environment.GetEnvironmentVariable("windir")
丁丁丁我们有一个winar !!! (+1给你) – Crash893 2009-09-30 17:06:38
它需要管理员权限,虽然 – 2012-10-26 13:27:59
只是要杀死并重新启动Windows资源管理器,你将不需要的路径到系统文件夹,因为这已经包含在PATH环境变量中(除用户搞砸了)。
,短期计划将杀死所有的explorer.exe实例,然后重新启动Explorer.exe的:
static void Main(string[] args)
{
foreach (Process process in Process.GetProcessesByName("explorer"))
{
if (!process.HasExited)
{
process.Kill();
}
}
Process.Start("explorer.exe");
}
Environment.GetFolderPath(Environment.SpecialFolder.Windows)
将路径返回到Windows文件夹。在环境变量上推荐这种方法,因为使用的API完全符合我们的要求(.NET 4.0及更高版本)。
时,没有任何事情发生您应该在您的响应中指出Environment.SpecialFolder.Windows在.NET版本<4.0上不存在。您在“SpecialFolder”中也有错字。 – 2013-03-18 15:26:21
我会强烈建议使用:
Directory.GetParent(Environment.GetFolderPath(Environment.SpecialFolder.System))
它不需要管理员权限,并支持.NET框架的所有版本。
完美。这应该是公认的答案,因为它不需要管理员。 – carefulnow1 2016-06-14 17:21:20
您会考虑将接受的答案更改为我所写的答案,它不需要管理员并支持较低版本的.net框架。 – 2017-05-25 19:33:46