如何让 Windows 窗体将命令传递到控制台/命令行?
Posted
技术标签:
【中文标题】如何让 Windows 窗体将命令传递到控制台/命令行?【英文标题】:How can I make a Windows Form pass a command to the console/command line? 【发布时间】:2013-12-05 08:03:23 【问题描述】:我创建了一个新的 Windows 窗体应用程序
看起来像图片(简化)
...
我还有一个命令行程序(python)
在路径中保存为“myApp”
要运行它,只需要在命令行输入“myApp”(并传递选项)
...
这很好,但我也希望有人不熟悉/不熟悉命令行
能够使用该程序。于是有了表格。
...
所以问题是,我该如何设置它,以便在单击按钮时,
表单相当于直接输入命令行??
...
我认为这是可能的,因为如果我启动一个新的控制台应用程序和代码
system("myApp");
正是这样做的
...
但是,当我在 Windows 窗体中使用“系统”代码时,我得到了一个
'system': identifier not found
错误
【问题讨论】:
【参考方案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】:
您应该使用具有适当设置的ProcessStartInfo
的Process
类。 ProcessStartInfo
有详细示例
【讨论】:
【参考方案3】:如果是这种情况,我认为我们将不得不以艰难的方式去做。您可以在 Visual Studio 中编译一个单独的 dll 来完全按照您的控制台应用程序所做的事情,比如 系统(“文件名”)
然后将其设置为在运行时与您的表单应用程序动态链接,希望您能做对。
【讨论】:
你不觉得,这个想法有点过于复杂了吗? 这当然可能不是最简单的。但它是肯定的。以上是关于如何让 Windows 窗体将命令传递到控制台/命令行?的主要内容,如果未能解决你的问题,请参考以下文章
将多个参数传递给从 Windows 窗体运行的控制台应用程序