winform 进程、线程

一、进程

1、进程名打开窗体

Process.Start("进程名");--存在弊端,若不知进程名无法打开

2、实例化打开进程

Process pro = new Process();--实例化进程
ProcessStartInfo psi = new ProcessStartInfo(textBox1.Text);--实例化打开地址
pro.StartInfo = psi;--赋值进程地址
pro.Start();--打开进程、

3、浏览器打开进程

Process.Start("浏览器名",--可省略在默认浏览器打开"地址");

4、获取所有进程

 Process[] pro=  Process.GetProcesses();

foreach(Process p in pro)

{

p.Kill();--关闭进程

}

 private void button2_Click(object sender, EventArgs e)
        {
            openFileDialog1.Filter="文件地址|*.exe";
            DialogResult dr = openFileDialog1.ShowDialog();
            if (dr==DialogResult.OK)
            {
                textBox1.Text = openFileDialog1.FileName;
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Process pro = new Process();
            ProcessStartInfo psi = new ProcessStartInfo(textBox1.Text);
            pro.StartInfo = psi;
            pro.Start();
        }

二、线程

1、实例化线程:Tread td=new Tread(委托方法)

线程只能委托方法执行

2、调用线程:td.Start();

3、设置前后台线程;

当程序窗口关闭但程序仍然进行,是因为程序为前台线程,将其设置为后台线程。当前台线程关闭,后台线程将全部关闭

td.IsBackground=true;--设置为后台线程

4、后台线程无法操作主线程,需将控件主线程解除监控,即跨越访问线程

 Control.CheckForIllegalCrossThreadCalls = false;

5、关闭线程:td.Abort

6、线程调用方法无返回值,可有基类参数

方法中定义参数基类类型:参数 as 应用类型

线程中传参

原文地址:https://www.cnblogs.com/hclyz/p/6806273.html