主页 > 手机  > 

15.2ProcessStartInfo类

15.2ProcessStartInfo类

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。

ProcessStartInfo类配合Process类使用,它指定启动某个进程时使用的一些参数。

通常情况下,只需要设置ProcessStartInfo的FileName属性值(包括网址),操作系统自动会使用关联的程序打开该文件类型。

ProcessStartInfo常用属性:

FileName:要启动的应用程序或文档。Arguments:启动应用程序时要使用的一组命令行参数。Verb:打开FileName属性时指定的动作,默认值为空字符串。通常每个文件除了打开之外还支持别的操作,例如txt、doc等常见文档支持“print”(打印)这个动作。支持的动作可以通过注册表查看,例如docx文档支持“Edit”、“New”、“OpenAsReadOnly”等:

图15-5 docx文档支持的动作

ErrorDialog:指示不能启动进程时是否向用户显示错误对话框。WindowStyle:启动进程时使用的窗口状态。UseShellExecute:指示是否使用操作系统命令行程序启动进程。

注意:所有的设置应在启动进程前完成,进程启动后更改设置是不会起作用的。

【例 15.4】【项目:code15-004】使用ProcessStartInfo设置进程启动参数。

        //使用默认浏览器打开网址

        private void button1_Click(object sender, EventArgs e)

        {

            ProcessStartInfo psi = new ProcessStartInfo("http:// .csdn.net");

            Process.Start(psi);

        }

        //为文本文件使用print动作

        private void button2_Click(object sender, EventArgs e)

        {

            ProcessStartInfo psi = new ProcessStartInfo("c:\\lessons\\将进酒.txt");

            //当文件不能打开时弹出错误提示框

            psi.ErrorDialog = true;

            //动词为print

            psi.Verb = "print";

            Process.Start(psi);

        }

第2个按钮按照notepad提供的Verb(print)使用记事本打开文本文件并开始打印。

【例 15.5】【项目:code15-005】监视进程运行。

请在窗体上放置一个Button控件、一个TextBox控件和一个Timer组件。Timer组件的Interval 属性设置为100(0.1秒)。具体代码如下:

        //监视进程运行

        Process psNotepad;

        private void button1_Click(object sender, EventArgs e)

        {

            ProcessStartInfo psi = new ProcessStartInfo("C:\\lessons\\赤壁怀古.txt");

            psNotepad = Process.Start(psi);

            timer1.Start();

        }

        private void timer1_Tick(object sender, EventArgs e)

        {

            //检查进程是否退出

            if( psNotepad.HasExited)           

            {

                textBox1.Text += DateTime.Now.ToShortTimeString() + " 停止运行" + "\r\n";

                //如果进程退出则获取进程退出的时间

                textBox1.Text += "退出时间:" + psNotepad.ExitTime.ToShortTimeString() + "\r\n";

                timer1.Stop();

            }

            else

                textBox1.Text += DateTime.Now.ToShortTimeString() + " 正在运行" + "\r\n";

        }

运行结果如下图所示:

图15-6 获取进程终止时间

学习更多vb.net知识,请参看vb.net 教程 目录

学习更多C#知识,请参看C#教程 目录

标签:

15.2ProcessStartInfo类由讯客互联手机栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“15.2ProcessStartInfo类