我正在編寫一個程序來殺死並重新啓動瀏覽器,但我不想硬編碼位置,因爲有些人在不同的地方安裝了窗口(例如,我發現有人安裝了它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