天天看點

C#中使用Process元件通路本地程序

歡迎大家提出意見,一起讨論!

轉載請标明是引用于 http://blog.csdn.net/chenyujing1234

代碼(VS2008):

http://www.rayfile.com/zh-cn/files/10801d54-991d-11e1-9109-0015c55db73d/

Process元件提供對本地和遠端程序的通路,并使用使用者能夠啟動和停止本地系統程序。

1、關鍵技術

Process的屬性

(1)StartInfor屬性

用于擷取或設定要傳遞給Process的Start方法的屬性。

(2)Start方法

啟動(或重用)此Process元件的StartInfo屬性指定的程序資源,并将其與該元件關聯。

(3)GetProcessByName

建立新的Process元件的數組,并将其與本地計算機上共享指定的程序名稱的所有程序資源關聯

 public static Process[] GetProcessesByName(string processName);

2、設計過程

private void Form1_Load(object sender, EventArgs e)
        {
            // 設定要啟動的應用程式
            process1.StartInfo.FileName = "notepad.exe";
        }

           
private void button1_Click(object sender, EventArgs e)
        {
            // 啟動記事本程序
            process1.Start();
        }
           
private void button2_Click(object sender, EventArgs e)
        {
            // 聲明一個程序數組
            System.Diagnostics.Process[] myProcess;
            // 擷取目前的所有記事本程序
            myProcess = System.Diagnostics.Process.GetProcessesByName("Notepad");
            // 循環周遊數組中的每個元素
            foreach (System.Diagnostics.Process instance in myProcess)
            {
                // 關閉擁有使用者界面的程序
                instance.CloseMainWindow();
                // 在指定的時間内等待關聯程序的退出
                instance.WaitForExit(3000);
                // 釋放與此元件相關聯的所有資源
                instance.Close(); 
            }
        }
           

繼續閱讀