【问题标题】:How can I make a Windows Form pass a command to the console/command line?如何让 Windows 窗体将命令传递到控制台/命令行?
【发布时间】:2013-12-05 08:03:23
【问题描述】:

我创建了一个新的 Windows 窗体应用程序

看起来像图片(简化)

...

我还有一个命令行程序(python)

在路径中保存为“myApp”

要运行它,只需要在命令行输入“myApp”(并传递选项)

...

这很好,但我也希望有人不熟悉/不熟悉命令行

能够使用该程序。于是有了表格。

...

所以问题是,我该如何设置它,以便在单击按钮时,

表单相当于直接输入命令行??

...

我认为这是可能的,因为如果我启动一个新的控制台应用程序和代码

system("myApp");

正是这样做的

...

但是,当我在 Windows 窗体中使用“系统”代码时,我得到了一个

'system': identifier not found

错误

【问题讨论】:

    标签: winforms visual-studio-2010 win32gui


    【解决方案1】:

    您可以使用System.Diagnostics.Process.Start 方法运行任何Windows cmd 命令,例如从命令行启动它。

    示例代码:

    System.Diagnostics.Process.Start("py script.py");
    

    MSDN Official Documentation

    【讨论】:

    • 哇,非常感谢您的快速回复!当我使用它时,我得到一个 error C2882: 'System' : illegal use of namespace identifier in expression 可能是因为我使用的是 .h 文件而不是 .vb??
    • 您的代码中是否已经有一个名为System 的命名空间?编译错误 C2882 显示 msdn.microsoft.com/en-us/library/vstudio/96c84dtx.aspx
    • 我明白了,我明白了,谢谢!稍后会回帖阅读所提供的链接
    【解决方案2】:

    您应该使用具有适当设置的ProcessStartInfoProcess 类。 ProcessStartInfo有详细示例

    【讨论】:

      【解决方案3】:

      如果是这种情况,我认为我们将不得不以艰难的方式去做。您可以在 Visual Studio 中编译一个单独的 dll 来完全按照您的控制台应用程序所做的事情,比如 系统(“文件名”)

      然后将其设置为在运行时与您的表单应用程序动态链接,希望您能做对。

      【讨论】:

      • 你不觉得,这个想法有点过于复杂了吗?
      • 这当然可能不是最简单的。但它是肯定的。
      猜你喜欢
      • 1970-01-01
      • 2010-09-20
      • 2016-06-15
      • 1970-01-01
      • 2011-02-12
      • 2013-02-08
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      相关资源
      最近更新 更多