【问题标题】:Using Process.Start in C#在 C# 中使用 Process.Start
【发布时间】:2020-06-20 02:02:42
【问题描述】:

我想从 C# 启动 python 应用程序,所以我使用方法 Process。在我运行它并单击按钮后,我得到了

System.ComponentModel.Win32Exception: 系统找不到文件 指定

无论哪种情况。怎么了?

 int counter = 0;         

    private void button1_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
    {
        counter++;
        TextBox1.Text = counter.ToString(); 
        //Process.Start("Python.exe", "C:\\Users\\kamil\\source\\PythonApplication2\\PythonApplication2.py");
        Process.Start("IExplore.exe", "www.northwindtraders.com");
    }

【问题讨论】:

  • 您没有给出 IExplore.exe 或 Python.exe 的完整路径,并且这些路径未在 PATH 环境变量中设置
  • 嗨,Kamil,您能否确认以下解决方案之一是否回答了您的问题,如果是,请单击绿色复选框标记为已解决

标签: c# python .net uwp


【解决方案1】:

问题可能是 python.exe 的完整路径和我 explore.exe。您可以为它们指定完整路径。甚至可以将路径添加到 PATH 环境变量。如果在 PATH 环境变量中指定了路径,则不需要指定完整路径。你可以这样改变它:

var old = Environment.GetEnvironmentVariable("PATH", EnvironmentVariableTarget.Machine)
var new = old + @"Full path, here you don't need to escape double quotes."
Environment.SetEnvironmentVariable("PATH", new, EnvironmentVariableTarget.Machine)

在@"" 中包含路径是一种很好的做法,此处特殊字符不需要转义。

【讨论】:

    猜你喜欢
    • 2011-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-19
    • 1970-01-01
    相关资源
    最近更新 更多