摘要:[C#] 啟動應用程式並且傳入參數
Introduction
有時候我們會使用一個啟動器去檢查有沒有最新的應用程式,檢查完了,就要啟動應用程式,
並且傳入相關的資訊;這邊小弟紀錄自己的方法,若是有其他方法,希望前輩們指教。
Example
sample1 : 啟動表單應用程式
1.表單程式碼
Program.cs
namespace ApplicationDemo {
static class Program {
/// <summary>
/// 應用程式的主要進入點。
/// </summary>
[STAThread]
//加入傳入參數
static void Main(string[] args) {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
if (args.Length == 0) {
Application.Run(new Form1());
} else {
Application.Run(new Form1(args[0].ToString()));
}
}
}
}
Form1.cs
namespace ApplicationDemo {
public partial class Form1 : Form {
private string _args;
public Form1() {
InitializeComponent();
}
public Form1(string value) {
InitializeComponent();
if (!string.IsNullOrEmpty(value)) {
_args = value;
}
}
private void btnShowArgs_Click(object sender, EventArgs e) {
MessageBox.Show(_args);
}
}
}
2.啟動器程式碼
class Program {
static void Main(string[] args) {
//指定應用程式路徑
string target = Environment.CurrentDirectory + @"\ApplicationDoem.exe";
//方法一
//Process.Start(target, "我是參數");
//方法二
ProcessStartInfo pInfo = new ProcessStartInfo(target);
pInfo.Arguments = "我是參數";
using (Process p = new Process()) {
p.StartInfo = pInfo;
p.Start();
}
Console.ReadKey();
}
}
執行結果
sample2 : 啟動 Console 應用程式
1.欲啟動的應用程式碼
namespace StartConsoleApplication {
class Program {
static void Main(string[] args) {
if (args != null && args.Length > 0) {
//印出程式的名稱
Console.WriteLine(AppDomain.CurrentDomain.FriendlyName);
//印出傳入的參數
Console.WriteLine(args[0].ToString());
}
Console.ReadKey();
}
}
}
2.欲啟動的應用程式碼
namespace ConsoleApplication20091226 {
class Program {
static void Main(string[] args) {
//指定應用程式路徑
//string target = Environment.CurrentDirectory + @"\ApplicationDoem.exe";
string target = Environment.CurrentDirectory + @"\StartConsoleApplication.exe";
//方法一
//Process.Start(target, "我是參數");
//方法二
ProcessStartInfo pInfo = new ProcessStartInfo(target);
pInfo.Arguments = "我是參數";
using (Process p = new Process()) {
p.StartInfo = pInfo;
p.Start();
}
Console.ReadKey();
}
}
}執行結果
Link
Process 成員
System.Diagnostics 命名空間
Start
ProcessStartInfo
CloseMainWindow
Kill
ProcessThread
完整程式碼
ConsoleApplication20091226.rar
三小俠 小弟獻醜,歡迎指教

