随风而行

^o^ 格言:相信没有做不到的事情,只有想不到的事情.
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Process类的一些用法(转)

Posted on 2009-04-03 11:54  随风而行  阅读(212)  评论(0编辑  收藏  举报

System.Diagnostics.Process
提供了开启进程、结束进程、获取系统进程的信息等方法。
使用它应该可以实现windows任务管理器的功能。
#MyProcess.cs
using System;
using System.Diagnostics;

namespace MyProjects
{
     public class MyProcess : System.IDisposable
     {
         int processID ;
         public MyProcess ( )
         {
             Process p ;
             p = new Process() ;
             p.StartInfo = new ProcessStartInfo ( "notepad.exe" ) ;
             p.Start ( ) ;
             processID = p.Id ;
             Console.WriteLine ( "ProcessID is: {0}" , processID ) ;
         }

         public void Dispose ( )
         {
             // Dispose
             Console.WriteLine ( "Disposed" ) ;
             Process p = new Process ( ) ;
             p = Process.GetProcessById ( this.processID ) ;
             try
             {
                 p.CloseMainWindow ( ) ;      //仅关闭主窗口
                 //p.Kill ( ) ;               //结束进程
             }
             catch ( ApplicationException ex )
             {
                 throw ex ;
             }
         }
     }
}

#Class1.cs
using System;

namespace MyProjects
{
public class Class1
{
   public Class1()
   {
   }

   public static void Main ( string[] args )
   {
    using ( MyProcess myProcess = new MyProcess ( ) )
    {
                 Console.ReadLine ( ) ;
    }
   }
}
}
打开一个notepad,程序结束时,将打开的notepad关闭。