码迷,mamicode.com
首页 > 系统相关 > 详细

怎样使用进程

时间:2015-05-03 18:52:06      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:

一,使用ProcessStartInfo启动进程:

技术分享
// 指定启动进程时使用的一组值
            System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo()
            {
                FileName = "notepad.exe", // 设置外部程序名
                Arguments = "test.txt", // 设置外部程序的启动参数(命令行参数)为test.txt
                WorkingDirectory = @"C:\Users\Administrator\Desktop",  // 设置外部程序工作目录为 C:\Users\Administrator\Desktop
                CreateNoWindow = false, // 获取或设置指示是否在新窗口中启动该进程的值
            };

            // 声明一个程序类
            System.Diagnostics.Process proc;

            try
            {
                // 启动外部程序
                proc = System.Diagnostics.Process.Start(info);
            }
            catch (System.ComponentModel.Win32Exception e)
            {
                Console.WriteLine("系统找不到指定的程序文件。\r{0}", e);
                return;
            }

            // 打印出外部程序的开始执行时间
            Console.WriteLine("外部程序的开始执行时间:{0}", proc.StartTime);

            // 等待3秒钟
            proc.WaitForExit(3000);

            // 如果这个外部程序没有结束运行则对其强行终止
            if (proc.HasExited == false)
            {
                Console.WriteLine("由主程序强行终止外部程序的运行!");
                proc.Kill();
                ////给10毫秒时间停止进程
                System.Threading.Thread.Sleep(TimeSpan.FromMilliseconds(10));
            }
            else
            {
                Console.WriteLine("由外部程序正常退出!");
            }

            Console.WriteLine("外部程序的结束运行时间:{0}", proc.ExitTime);
            Console.WriteLine("外部程序在结束运行时的返回值:{0}", proc.ExitCode);
View Code

二,使用Start(string fileName, string arguments)启动进程:

技术分享
// 声明一个程序类
            System.Diagnostics.Process proc;

            try
            {
                // 启动外部程序
                proc = System.Diagnostics.Process.Start("notepad.exe", @"C:\Users\Administrator\Desktop\test.txt");
            }
            catch (System.ComponentModel.Win32Exception e)
            {
                Console.WriteLine("系统找不到指定的程序文件。\r{0}", e);
                return;
            }

            // 打印出外部程序的开始执行时间
            Console.WriteLine("外部程序的开始执行时间:{0}", proc.StartTime);

            // 等待3秒钟
            proc.WaitForExit(3000);

            // 如果这个外部程序没有结束运行则对其强行终止
            if (proc.HasExited == false)
            {
                Console.WriteLine("由主程序强行终止外部程序的运行!");
                proc.Kill();
                ////给10毫秒时间停止进程
                System.Threading.Thread.Sleep(TimeSpan.FromMilliseconds(10));
            }
            else
            {
                Console.WriteLine("由外部程序正常退出!");
            }

            Console.WriteLine("外部程序的结束运行时间:{0}", proc.ExitTime);
            Console.WriteLine("外部程序在结束运行时的返回值:{0}", proc.ExitCode);
View Code

 

怎样使用进程

标签:

原文地址:http://www.cnblogs.com/fengjin/p/4474389.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!