C#实现软件监控外部程序运行状态的方法
更新时间:2014年12月15日 15:29:38 投稿:shichen2014
这篇文章主要介绍了C#实现软件监控外部程序运行状态的方法,可实现监控另一个程序的运行状态及触发相应事件的功能,是非常实用的技巧,需要的朋友可以参考下
本文实例讲述了C#实现软件监控外部程序运行状态的方法。分享给大家供大家参考。具体方法如下:
需要外挂一个程序,用于监控另一个程序运行状态,一旦检测到另一程序关闭,就触发一个事件做其他处理。
引用的类
复制代码 代码如下:
using System.Diagnostics;//引入Process 类
声明
复制代码 代码如下:
private Process[] MyProcesses;
主要处理部分,该段代码可放在定时器中循环检测监控的程序是否启动
复制代码 代码如下:
MyProcesses = Process.GetProcessesByName("SajetManager");//需要监控的程序名,该方法带出该程序所有用到的进程
foreach (Process myprocess in MyProcesses)
{
textBox1.Text += myprocess.ProcessName + "\r\n";
if (myprocess.ProcessName.ToLower() == "sajetmanager")
{
MessageBox.Show("SajetManager");
myprocess.EnableRaisingEvents = true;//设置进程终止时触发的时间
myprocess.Exited += new EventHandler(myprocess_Exited);//发现外部程序关闭即触发方法myprocess_Exited
}
}
private void myprocess_Exited(object sender, EventArgs e)//被触发的程序
{
MessageBox.Show("SajetManager close");
}
foreach (Process myprocess in MyProcesses)
{
textBox1.Text += myprocess.ProcessName + "\r\n";
if (myprocess.ProcessName.ToLower() == "sajetmanager")
{
MessageBox.Show("SajetManager");
myprocess.EnableRaisingEvents = true;//设置进程终止时触发的时间
myprocess.Exited += new EventHandler(myprocess_Exited);//发现外部程序关闭即触发方法myprocess_Exited
}
}
private void myprocess_Exited(object sender, EventArgs e)//被触发的程序
{
MessageBox.Show("SajetManager close");
}
希望本文所述对大家的C#程序设计有所帮助。
相关文章
C#利用FileSystemWatcher实时监控文件的增加,修改,重命名和删除
好多时候,我们都需要知道某些目录下的文件什么时候被修改、删除过等。本文将利用FileSystemWatcher实现实时监控文件的增加,修改,重命名和删除,感兴趣的可以了解一下2022-08-08C#事务处理(Execute Transaction)实例解析
这篇文章主要介绍了C#事务处理(Execute Transaction)实例解析,对于理解和学习事务处理有一定的帮助,需要的朋友可以参考下2014-08-08
最新评论