在C中直接调用程序,可以使用`System.Diagnostics.Process.Start()`方法。以下是一个简单的示例,展示了如何调用记事本、计算器和Word程序:
```csharp
using System;
using System.Diagnostics;
class Program
{
static void Main()
{
// 调用记事本
Process.Start("notepad.exe");
// 调用计算器
Process.Start("calc.exe");
// 调用Word
Process.Start("winword.exe");
}
}
```
在这个示例中,`Process.Start()`方法接受一个字符串参数,即要启动的程序的路径。你可以根据需要替换为其他程序的路径。
详细步骤:
创建Process对象
```csharp
Process process = new Process();
```
设置StartInfo属性
```csharp
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "程序路径"; // 例如: "C:\\Program Files\\Notepad.exe"
startInfo.Arguments = "参数"; // 例如: ""
startInfo.WorkingDirectory = "工作目录"; // 例如: "C:\\Users\\Username\\Documents"
```
启动进程
```csharp
process.Start(startInfo);
```
等待进程完成(可选):
```csharp
process.WaitForExit();
```
获取退出代码(可选):
```csharp
int exitCode = process.ExitCode;
```
示例代码:
```csharp
using System;
using System.Diagnostics;
class Program
{
static void Main()
{
// 创建Process对象
Process process = new Process();
// 设置StartInfo属性
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "notepad.exe"; // 替换为你的程序路径
startInfo.Arguments = ""; // 替换为你的程序需要的参数
startInfo.WorkingDirectory = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile); // 设置为当前用户目录
// 启动进程
process.Start(startInfo);
// 等待进程完成
process.WaitForExit();
// 获取退出代码
int exitCode = process.ExitCode;
Console.WriteLine("程序退出代码: " + exitCode);
}
}
```
通过这种方式,你可以灵活地调用不同的程序,并传递所需的参数和工作目录。