我想从C#运行几个Windows程序。我将如何做到这一点?从我一直在寻找了,它是与的System.Diagnostics.Process的启动方法C#中的命令行命令
会只是我使用
System.Diagnostics.Process;
然后键入
start("Command to be executed");
或者我不正确地看着这个问题?
C#的新手。
我想从C#运行几个Windows程序。我将如何做到这一点?从我一直在寻找了,它是与的System.Diagnostics.Process的启动方法C#中的命令行命令
会只是我使用
System.Diagnostics.Process;
然后键入
start("Command to be executed");
或者我不正确地看着这个问题?
C#的新手。
事情是:基本上“要执行的命令”部分是您将在命令提示符下键入的内容。例如:
Process.Start("C:\Programs\programFile.exe",
"/arg1='This is an argument' -arg2=anotherArgument someOtherArgument");
程序的入口点(该文件位于“C:\程序\ programFile.exe”)将收到其主要方法如下参数列表:
args[0] = "/arg1='This is an argument'"
args[1] = "-arg2=anotherArgument"
args[2] = "someOtherArgument"
这种将参数作为命令行传递的方式显然不是最大的格式,但它始终在做这项工作。
除了你不应该传递参数给可执行文件。使用Start的适当超载。 –
你说得对,只是更正 – fernandoespinosa
// Start Internet Explorer. Defaults to the home page.
Process.Start("IExplore.exe");
// Display the contents of the favorites folder in the browser.
Process.Start(myFavoritesPath);
从MSDN
根据您的意见,似乎你不熟悉
面向对象编程
命名空间和类。让我们分解它。
Process
是一个类,是.NET框架的一部分。 Process
已收集方法,其中一些方法是static
方法。 Start
是这些静态方法之一。有必要的,以便两件供您使用Process.Start
:
Process
。您可以通过将using System.Diagnostics;
添加到类文件的顶部,将该信息提供给编译器。这告诉编译器寻找System.Diagnostics
命名空间中的类,这是Process
所在的位置。Start
的方法,该方法属于进程类的一部分。您可以使用Process.Start()
来完成此操作。或者在你的情况,Process.Start("Command to be executed");
有两个原因,为什么你不能只是输入start("Command to be executed")
:
start
,以小写的“s”,是不一样的Start
用大写的“S” 。 C#是一个区分大小写的语言。现在我发现我的答案中没有任何内容与面向对象编程有关,而只是名称空间和类。好吧。 – ean5533
您是否检查过[文档](http://msdn.microsoft.com/de-de/library/53ezey2s(v = vs.100).aspx)? – GameScripting
您似乎已经完成了答案,但实际上并未尝试实施。为什么不? – ean5533
因为打字“开始”给了我一条波浪线。 –