Process进程的了解

来源:互联网 发布:python日期转字符串 编辑:程序博客网 时间:2024/05/21 05:21

计算机中正在运行的进程
Process[] processes = Process.GetProcesses();
-----------------------进程标识信息------------------------
process.Id                   ||进程唯一标识符
process.Handle               ||关联进程的本机句柄
process.HandleCount          ||打开的句柄数
process.BasePriority         ||关联进程的基本优秀级
-----------------------进程运行信息-------------------------
process.StartTime.ToString() ||进程启动的时间
process.MachineName          ||进程正在其上运行的计算机名称
process.MainWindowTitle      ||进程的主窗体标题
process.MainWindowHandle     ||进程的主窗体的窗口句柄
process.Responding           ||进程的用户界面当前是否响应
process.SessionId            ||经常的终端服务会话标识符
process.EnableRaisingEvents  ||进程终止是否激发Exited事件
process.Threads              ||进程中的线程

新开一个进程的方法:
Process.Start(string filename);
例:Process.Start("IExplore");
Process.Start(string filename,string argument);
例: Process.Start("IExplore","www.sina.com.cn");

向要启动的进程传送信息后启动
 string filename = buttonEdit_file.Text;
 ProcessStartInfo startInfo = new ProcessStartInfo(filename);
 startInfo.WindowStyle = ProcessWindowStyle.Maximized;
 startInfo.Arguments = textEdit_argument.Text;
 startInfo.Verb =??/string;
 Process.Start(startInfo);
得到进程包含的verb命令
ProcessStartInfo startInfo = new ProcessStartInfo(filename);
foreach (string verb in startInfo.Verbs)
 {
    comboBoxEdit_verbs.Properties.Items.Add(verb);            
 }

中止进程的方法有CloseMainWindow()和Kill两种方法:
CloseMainWindow()相当于点击主窗体上面的“关闭”按钮,程序可以在退出前请求用户确认,也可以拒绝退出
 bool ret = process.CloseMainWindow();
 if (ret)
   {
     listBoxControl_process.Items.Remove(name);    
     MessageBox.Show("关闭成功!");
   }
 else MessageBox.Show("请求关闭失败,请强制关闭!");
Kill方法则是请求操作系统直接结束进程,它不给要关闭的进程保存数据的机会 process.Kill()