是的,C# WinForms 應用程序可以調用外部程序。你可以使用 System.Diagnostics
命名空間中的 Process
類來實現這個功能。以下是一個簡單的示例,展示了如何啟動一個外部程序(例如 Notepad):
using System;
using System.Diagnostics;
using System.Windows.Forms;
namespace WinFormsApp
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
// 創建一個 ProcessStartInfo 對象,用于存儲要啟動的外部程序的詳細信息
ProcessStartInfo startInfo = new ProcessStartInfo
{
FileName = "notepad.exe", // 要啟動的程序的名稱
RedirectStandardOutput = true, // 將程序的輸出重定向到應用程序的輸出流
UseShellExecute = false, // 不使用系統外殼程序啟動程序
CreateNoWindow = true // 不創建新窗口
};
// 使用 Process 類啟動外部程序
using (Process process = Process.Start(startInfo))
{
// 可以使用 process.StandardOutput 獲取程序的輸出(如果有的話)
string output = process.StandardOutput.ReadToEnd();
process.WaitForExit(); // 等待程序執行完成
}
}
}
}
在這個示例中,當用戶點擊按鈕時,將啟動 Notepad 程序。你可以根據需要修改 FileName
屬性以啟動其他外部程序。