我想从C#运行一些Windows程序。我该怎么做?从我一直在查看,它与System.Diagnostics.Process的启动方法有关
我会使用
吗?System.Diagnostics.Process;
然后输入
start("Command to be executed");
还是我错误地看待这个问题?
C#的新手。
答案 0 :(得分:2)
根据您的评论,您似乎不熟悉面向对象编程命名空间和类。让我们分解吧。
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
不同。 C#是区分大小写的语言。答案 1 :(得分:1)
事情是:基本上“要执行的命令”部分是您在命令提示符中键入的内容。例如:
Process.Start("C:\Programs\programFile.exe",
"/arg1='This is an argument' -arg2=anotherArgument someOtherArgument");
程序的入口点(该文件位于“C:\ Programs \ programFile.exe”)将在其主方法中收到以下参数列表:
args[0] = "/arg1='This is an argument'"
args[1] = "-arg2=anotherArgument"
args[2] = "someOtherArgument"
这种将参数作为命令行传递的方式显然不是格式化的最佳方法,但它始终可以完成工作。
答案 2 :(得分:0)
// 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