我想从 C# 运行一些 Windows 程序。我该怎么做?从我一直在查找的内容来看,它与 System.Diagnostics.Process 的 start 方法有关
我会不会使用
System.Diagnostics.Process;
然后输入
start("Command to be executed");
还是我看错了这个问题?
C# 新手。
我想从 C# 运行一些 Windows 程序。我该怎么做?从我一直在查找的内容来看,它与 System.Diagnostics.Process 的 start 方法有关
我会不会使用
System.Diagnostics.Process;
然后输入
start("Command to be executed");
还是我看错了这个问题?
C# 新手。
根据您的评论,您似乎不熟悉面向对象的编程命名空间和类。让我们分解一下。
Process
是一个类,是 .NET 框架的一部分。Process
has 有一组方法,其中一些是static
方法。Start
是那些静态方法之一。有两件必需品供您使用Process.Start
:
Process
。using System.Diagnostics;
您可以通过添加到类文件的顶部将该信息提供给编译器。这告诉编译器在命名空间中寻找类System.Diagnostics
,这是存在的地方Process
。Start
是 process class 的一部分。您可以使用Process.Start()
. 或者在你的情况下,Process.Start("Command to be executed");
您不能只键入有两个原因start("Command to be executed")
:
start
,小写字母“s”Start
与大写字母“S”不同。C# 是一种区分大小写的语言。问题是:本质上,“要执行的命令”部分就是您在命令提示符中键入的内容。例如:
Process.Start("C:\Programs\programFile.exe",
"/arg1='This is an argument' -arg2=anotherArgument someOtherArgument");
您的程序的入口点(该文件位于“C:\Programs\programFile.exe”)将在其 main 方法中接收以下参数列表:
args[0] = "/arg1='This is an argument'"
args[1] = "-arg2=anotherArgument"
args[2] = "someOtherArgument"
这种将参数作为命令行传递的方式显然不是最好的格式化方式,但它始终可以完成这项工作。
// 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