2013-07-28 54 views
1

工作,我可以使用此代碼啓動小程序:在C#啓動過程中不會在所有情況下

if (File.Exists(content[1])) 
{ 
    Process process = new Process(); 
    try 
    { 
     process.StartInfo.UseShellExecute = false; 
     process.StartInfo.FileName = content[1]; 
     process.StartInfo.CreateNoWindow = true; 
     process.Start(); 
     SuccessMessage("Successfully launched " + content[0]); 
     //System.Diagnostics.Process.Start(content[1]); 
    } 
    catch (Exception e) 
    { 
     ErrorMessage("Couldn't start the process!"); 
     ErrorMessage(e.Message); 
    } 
} 

content[1]包含文件的路徑。

我可以啓動例如VLC,但我無法用此代碼啓動Visual Studio。爲什麼?

+5

你檢查了你的權限級別嗎?在啓動某些應用程序之前,許多人需要將該過程設置爲管理員。 –

+0

檢查VS是否允許多實例!你可以通過雙擊運行另一個MSVS實例嗎? –

+2

在VS上拋出異常?如果是這樣,什麼是例外? – rene

回答

4

我試圖運行你的代碼,並得到同樣的問題。 我得到的例外是:

C:\Users\MyUsername\Documents\Visual Studio 2012\Projects\ConsoleApplication20\Consol 
eApplication20\bin\Debug>ConsoleApplication20.exe 
Couldn't start the process!System.ComponentModel.Win32Exception (0x80004005): The requested operation requires elevation 
    at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo) 
    at System.Diagnostics.Process.Start() 
    at ConsoleApplication20.Program.Main(String[] args) in c:\Users\MyUsername\Documen 
ts\Visual Studio 2012\Projects\ConsoleApplication20\ConsoleApplication20\Program .cs:line 24 

這是因爲我的Visual Studio的是,在高完整性級別,你可以閱讀here 當我執行的過程作爲管理員(右點擊 - >以管理員身份運行)該過程開始了。進程無法啓動具有更高完整性級別的其他進程而不詢問提升。

+0

我試圖構建我的程序並以管理員身份運行,但它仍然不會啓動Visual Studio。 – user2585700

+0

使用此工具可以確定您的VS運行在哪個完整性級別以及您的CMD運行的完整級別。 http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx – asafrob

相關問題