一、進程
進程是一個具有獨立功能的程序關于某個數據集合的一次運行活動。
它可以申請和擁有系統資源,是一個動態的概念,是一個活動的實體。
Process 類,用來操作進程。
命名空間:using System.Diagnostics;
Process.Start("calc"); //打開計算器Process.Start("mspaint"); //打開畫圖Process.Start("iexplore" , "http://www.baidu.com"); //打開瀏覽器并指定地址(一)通過一個進程,打開指定的文件:
1.創建進程對象
Process p = new Process();
2.創建一個StartInfo對象,是指定帶盤符的路徑。
ProcessStartInfo psi = new ProcessStartInfo(@"C:/user/.....);
3.進程指定及開始
p.StartInfo = psi; //指定路徑p.Start(); //開始進程
(二)通過文件選擇框讓用戶自己選擇所需要打開的程序并打開:
private void button1_Click(object sender, EventArgs e){//這是選擇文件的類型openFileDialog1.Filter = "應用程序|*.exe";//顯示對話框并且判斷用戶有沒有選中文件if (openFileDialog1.ShowDialog() == DialogResult.OK){//取文件路徑string path = openFileDialog1.FileName;//創建一個新的進程Process p = new Process();//制造進程的啟動信息ProcessStartInfo psf = new ProcessStartInfo(path);//設置該進程的執行信息p.StartInfo = psf;//啟動進程p.Start();} } 例子:注銷
//這個path就是你要調用的exe程序的絕對路徑string path = Application.StartupPath;//獲取自身exe或dll的文件名路徑string s = System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.FullyQualifiedName;private void button2_Click(object sender, EventArgs e){//打開該程序//取該程序文件的路徑//string path = Application.StartupPath;string path = System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.FullyQualifiedName;//造一個進程Process p = new Process();//造一個進程的啟動信息ProcessStartInfo ps = new ProcessStartInfo(path);//設置進程啟動信息p.StartInfo = ps;//啟動進程p.Start();//關閉程序this.Close();} 例:窗口實現鼠標拖動
private int x;private int y;private void pictureBox1_MouseDown(object sender, MouseEventArgs e){//鼠標點擊時的XY坐標x = e.X;y = e.Y;}private void pictureBox1_MouseMove(object sender, MouseEventArgs e){//判斷鼠標按下的是左鍵if (e.Button == System.Windows.Forms.MouseButtons.Left){//邊距=當前的距離+移動的距離this.Left = this.Left+(e.X - x);this.Top = this.Top +(e.Y - y);}} 二、線程
線程,有時被稱為輕量級進程(Lightweight Process,LWP),是程序執行流的最小單元。
新聞熱點
疑難解答