zoukankan      html  css  js  c++  java
  • 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 应用类型

    线程中传参

  • 相关阅读:
    pycharm上传代码到github中
    requests的封装(user-agent,proxies)
    Flask
    CTBCMCLibUser类
    TB timer 的用法
    多个 additional include directories 的复制方法
    怎样在编译时不显示警告
    infragistics 循环每一个选中的行
    Infragitics ultra grid 实现点击某一个cell的时候选中整行,并且不可编辑
    c#转换 datetime
  • 原文地址:https://www.cnblogs.com/hclyz/p/6806273.html
Copyright © 2011-2022 走看看