2013-07-22 23 views
-1

請告訴我如何從我的c#代碼訪問系統還原「rstrui.exe」。如何從後面的代碼訪問rstrui.exe?

我試過撥打C:\Windows\System32\rstrui.exe; 但它根本無法訪問。

我需要調用此函數將我的控件重定向到系統還原。

感謝....

+2

你試過到目前爲止什麼確切的代碼? – Arran

+0

你有什麼嘗試嗎? –

+0

是的,我可以通過這種方式調用系統備份和恢復..... –

回答

0

您可以訪問C:使用以下屬性\ Windows \ System32下:

Environment.SystemDirectory 

Environment.SystemDirectory Property

可以運行可執行文件使用下面的方法:

Process.Start(Path.Combine(Environment.SystemDirectory, "rstrui.exe")); 

Path.Combine Method

Process.Start Method

UPDATE >>>

唉唉......現在我看到你的問題。

當從64位Windows 7和Vista(也可能是Windows 8)上的32位代碼訪問System32文件夾時,Windows'巧妙地'將該部分請求路徑更改爲SysWow64。這就是爲什麼你可能有'找不到路徑'的錯誤。爲了解決這個問題,你可以使用以下命令:

Process.Start(@"C:\Windows\SysNative\rstrui.exe"); 

一個更完整的答案可能是:

if (Environment.Is64BitProcess) 
{ 
    Process.Start(Path.Combine(Environment.SystemDirectory, "rstrui.exe")); 
} 
else Process.Start("C:\\Windows\\sysnative\\rstrui.exe"); 
+0

它要求定義關鍵字** Combine **。 –

+0

我在'Path.Combine'的答案中添加了一個新鏈接。 – Sheridan

+0

謝謝,讓我試試這個 –

相關問題