在C#中启动进程;在任何情况下都不起作用

本文关键字:在任何情况下 不起作用 进程 启动 | 更新日期: 2023-09-27 18:25:10

我可以使用以下代码启动小程序:

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。为什么?

在C#中启动进程;在任何情况下都不起作用

我试图运行您的代码,但遇到了同样的问题。我得到的例外是:

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

这是因为我的视觉工作室的诚信度很高,你可以在这里阅读当我以管理员身份执行进程时(右键单击->以管理员身份运行),进程启动了。流程不能在不要求提升的情况下启动具有更高完整性级别的其他流程。