就是做一个程序A,通过这个程序A判断另一个程序B是否在运行,如果在程序B运行则程序A无反应,如果监控到程序B的线程停止,则程序A触发程序B使程序B重新启动,这应该怎么做,新手大家帮帮忙,项目挺急的....
如果有人能一次解决追加20分...
如果有人能一次解决追加20分...
解决方案 »
- 2010下面使用OWC,是否可以实现EXCEL表格的编辑,保存至oracle数据库?
- 询问一个关于xml序列化,反序列化与cache之间的转化问题
- 跪求:可以锻炼面向对象思想的小型程序
- sqlcommandbuilder 如何看到这个对象生成的sql语句呢?
- 在学C#中 遇到的小问题请大家帮忙
- C# 人脸识别
- c#求救:老是說該a 'property' where a 'method' was expected!!why??
- 这个程序有什么地方出错吗???(timer不起作用)
- 请问做到单击FROM1的button1能打开from2呢?
- 我想获得局域网上所有的打印机,并显示在界面上怎么做?
- datagridview 单元格屏蔽右键。
- c#用委托实现异步主动回调主程序的问题
public static bool IsAppStart(String AppName,String AppPath)
{
System.Diagnostics.Process[] myProcesses = System.Diagnostics.Process.GetProcessesByName(AppName);
foreach (System.Diagnostics.Process myProcess in myProcesses)
{ string ProcessFile = myProcess.Modules[0].FileName;
FileInfo Myfile = new FileInfo(ProcessFile);
if (Myfile.DirectoryName.ToLower() == AppPath.ToLower())
{
return true;
}
}
return false;
}
或者直接在B中定时给A发Windows消息,A中定时检测B是否在一定时间内发来了消息
{
System.Diagnostics.Process[] myProcesses = System.Diagnostics.Process.GetProcessesByName(AppName);
foreach (System.Diagnostics.Process myProcess in myProcesses)
{ string ProcessFile = myProcess.Modules[0].FileName;
FileInfo Myfile = new FileInfo(ProcessFile);
if (Myfile.DirectoryName.ToLower() == AppPath.ToLower())
{
return true;
}
}
return false;
}这段代码实现的效果是什么?还有返回值被谁接收?
bool isHave = false;
Process[] myProcesses = System.Diagnostics.Process.GetProcesses();//查看所有进程并放到数组myProcesses里
foreach (Process myProcess in myProcesses)//从进程里一个一个读出并在下面的if语句里与“”里的内容比对
{
if ("ProcessMonitoring" == myProcess.ProcessName)
{
isHave = true;//如果为true则退出
break;
}
} if (!isHave)//如果不存在,则进行相应的操作
{
//写相应的操作
}