美文网首页
003-启动和停止进程

003-启动和停止进程

作者: ottox | 来源:发表于2018-11-14 09:51 被阅读1次

    启动进程

    方法1:
    (1)创建一个Process组件的实例,例如:
    Process myProcess = new Process();
    (2)设置其对应的StartInfo属性,指定要运行的应用程序名以及传递的参数:
    myProcess.StartInfo.FileName = "文件名";
    process1.StartInfo.Arguments = "参数";
    如果该进程带有图形用户界面,也可以指定图形用户界面的打开方式。例如:
    myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
    (3)调用该实例的Start方法启动该进程。

    方法2:
    直接调用Process类提供的静态方法启动进程。

    停止进程

    通过两种方法利用Process组件停止进程。
    (1)如果进程有图形用户界面,调用CloseMainWindow方法。
    (2)如果进程没有用户界面,调用进程的Kill方法。
    不论有没有图形用户界面,如果希望强行让其退出,在权限允许的情况下,均可以调用Kill方法终止该进程。

    启动、停止和观察Notepad进程

    启动

                string fileName = "Notepad.exe";
                string argument = Application.StartupPath + "\\myfile" + fileIndex + ".txt";
                if (File.Exists(argument)==false)
                {
                    File.CreateText(argument);
                }
                //设置要启动的应用程序名称及参数
                ProcessStartInfo ps = new ProcessStartInfo(fileName, argument);
                ps.WindowStyle = ProcessWindowStyle.Normal;
                fileIndex++;
                Process p = new Process();
                p.StartInfo = ps;
                p.Start();
                //等待启动完成,否则获取进程信息可能会失败
                p.WaitForInputIdle();
    
    

    停止

                //创建新的Process组件的数组,并将它们与指定的进程名称(Notepad)的所有进程资源相关联.
                Process[] myprocesses;
                myprocesses = Process.GetProcessesByName(Path.GetFileNameWithoutExtension(fileName));
                foreach (Process p in myprocesses)
                {
                    //通过向进程主窗口发送关闭消息达到关闭进程的目的
                    p.CloseMainWindow();
                    //等待1000毫秒
                    Thread.Sleep(1000);
                    //释放与此组件关联的所有资源
                    p.Close();
                }
    
    

    相关文章

      网友评论

          本文标题:003-启动和停止进程

          本文链接:https://www.haomeiwen.com/subject/avddfqtx.html