我跑出去的想法关闭,不能因此在这里找到关于它的任何引用我去后,立即... 我需要保持辅助应用程序至极是不相关的我的C#项目总是在后台运行。因此,如果这个辅助应用程序崩溃或其他人手动关闭它,它会自动通过我的c#应用程序重新启动。如何重新打开文件时,它通过我的C#应用程序
我不知道该怎样来完成这一个线索,我的意思是检查,如果该应用程序关闭通过我的C#应用程序外在的东西。
任何帮助将不胜感激。 在此先感谢。
我跑出去的想法关闭,不能因此在这里找到关于它的任何引用我去后,立即... 我需要保持辅助应用程序至极是不相关的我的C#项目总是在后台运行。因此,如果这个辅助应用程序崩溃或其他人手动关闭它,它会自动通过我的c#应用程序重新启动。如何重新打开文件时,它通过我的C#应用程序
我不知道该怎样来完成这一个线索,我的意思是检查,如果该应用程序关闭通过我的C#应用程序外在的东西。
任何帮助将不胜感激。 在此先感谢。
下面的代码是在C#,它是一个WinForm内部。
private void Form1_Load(object sender, EventArgs e)
{
Process p = Process.GetProcessesByName("Notepad")[0];
p.EnableRaisingEvents = true;
p.Exited += new EventHandler(p_Exited);
}
void p_Exited(object sender, EventArgs e)
{
MessageBox.Show("Exit");
}
它看起来与名称的记事本&一个过程检索它的第一个实例。它将EnableRaisingEvents设置为true并挂钩到Exited事件。每当记事本关闭时,它都会显示警报。
基于这个逻辑,你可以构建你的应用程序。
您可以使用FileSystemWatcher让其他应用程序修改该文件的手表。
FileSystemWatcher的有类似改变,创建,重命名,删除,它可以订阅跟踪文件更改的事件。
作为一种解决方案,您可以使用Windows服务调用您始终运行的应用程序。
您可以使该服务从应用程序捕获错误返回代码,并根据错误重新启动它。
可以保持如果它正在运行或在vb.net
不使用过程类对于各个p作为处理在Process.GetProcessesByName(“通信器”) 的ShowWindow检查的处理(p.MainWindowHandle,SHOW_WINDOW .SW_NORMAL) 下一个p
,如果你要的不是在矿井名单的过程中,你可能会再次启动。 阿希什库马尔
最简单的方法是运行一个计时器,并在记号事件,使用 -
if (Process.GetProcessesByName("communicator").Count() == 0)
{
Process.Start("communicator.exe");
}
我一开始是这么想的,但也许它不会消耗太多的资源,因为它总是在计时器结束时检查运行的实例吗? – MikVal
如果,用户首先杀死你的C#应用程序,然后关闭其他应用程序 – Ramesh
@Ramesh如果用户关闭我的C#应用程序,然后在其他应用程序不会再重新启动。此特定行为只能在我的应用程序运行时发生。我真的需要一些代码行例子。 – MikVal