1. 程式人生 > >使用Process組件訪問本地進程

使用Process組件訪問本地進程

發送 exe 消息 wait ron second src tin 圖片

實現效果;

  技術分享圖片

知識運用:

  Process組件的StartInfo屬性  //獲取或設置要傳遞給Process的Start方法的屬性

  public ProcessStartInfo StartInfo {get;set;}  //屬性值:要啟動該進程時要使用的數據

  Start方法      //啟動(或重用)此Process組件的StartInfo屬性指定的進程資源

  public bool Start()    //返回bool值

  Process類的GetProcessesByName  //創建新的Process組件的數組 並將其與本機上共享指定的進程名稱的所有進程資源關聯

  public static Process[] GetProcessesByName(string processName)  //

processName: 該進程的友好名稱

  CloseMainWindow    //向進程的主窗口發送消息來關閉擁有用戶界面的進程

  public bool CloseMainWindow()  

  和WaitForExit方法    //指示Process組件在指定的毫秒數內等待關聯進程退出

  public bool WaitMainExit(int milliseconds)  // 毫秒為單位

實現代碼:

        private void Form1_Load(object sender, EventArgs e)
        {
            process1.StartInfo.FileName = "notepad.exe";
        }

        private void btn_start_Click(object sender, EventArgs e)
        {
            process1.Start();
        }

        private void btn_close_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process[] myProcess;
            myProcess = System.Diagnostics.Process.GetProcessesByName("notepad");
            foreach (System.Diagnostics.Process pro in myProcess)
            {
                pro.CloseMainWindow();          //關閉擁有用戶界面的進程
                pro.WaitForExit(300);       //在指定的時間內等待關聯進程的推出
                pro.Close();            //釋放與組件關聯的所有資源
            }
        }

使用Process組件訪問本地進程