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 应用类型

    线程中传参

  • 相关阅读:
    JavaScript的3种继承方式
    JavaScript回调函数及数组方法测试
    JavaScript实现二叉树算法
    SpringMVC之使用Servlet原生API作为参数
    HashMap详解
    面试笔记--Fast-Fail(快速失败)机制
    面试笔记--HashMap扩容机制
    org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1
    多模块调用Service失败
    常用命令汇总
  • 原文地址:https://www.cnblogs.com/hclyz/p/6806273.html
Copyright © 2011-2022 走看看