Tag: exit

在C#中从任务管理器检测结束进程

我在C#中有一个应用程序,并希望监视其当前状态,即它是运行还是关闭。 到目前为止,我能够跟踪应用程序在运行时错误期间退出的状态,或者应用程序退出代码中的任何其他状态。 但是当任务管理器强制关闭时,我无法记录应用程序状态。 有没有办法监控End Process事件? 或者我是否必须设计一个单独的服务来监视我的应用程序(我觉得这会浪费资源)? 简史:该应用程序是一个WCF订阅者应用程序,旨在作为后台进程运行并从服务器接收数据。 我不想使用Windows服务,因为我正在设计一个GUI,允许客户端向服务器发送请求以获取特定数据。 该应用程序链接到另一个应用程序,该应用程序跟踪订户是否在线或离线。 因此,正在寻找一种方法来跟踪突然的应用程序关闭并相应地通知用户。

等待进程结束异步,然后调用主表单中的函数

我正在用C#编写一个游戏编辑器。 我的程序通过启动notepad.exe进程打开为.txt文件。 如果该进程退出,我想调用主窗体中的函数(更新文本框)。 这是我到目前为止所做的事情: void OpenTextEditor(TreeNode node) { Process editor = new Process(); editor.StartInfo.WorkingDirectory = “%WINDIR%”; editor.StartInfo.FileName = “notepad.exe”; var txtfilelocation = GetRealPathByNode(node); var txtfile = File.ReadAllText(txtfilelocation,Encoding.Default); txtfile = txtfile.Replace(“\n”, “\r\n”); File.WriteAllText(txtfilelocation,txtfile,Encoding.Default); editor.StartInfo.Arguments = txtfilelocation; editor.EnableRaisingEvents = true; editor.Exited += delegate { NotePadHasEnded(node); }; editor.Start(); //starten } public Delegate NotePadHasEnded(TreeNode node) { var txtfilelocation = […]

在用户输入“Q”,“q”,“退出”或“退出”以终止它之前,如何运行控制台应用程序?

在用户输入“Q”,“q”,“退出”或“退出”以终止它之前,如何运行控制台应用程序? 这是我目前的代码: public class Class1 { [STAThread] static void Main(string[] args) { string userName; int i = 0, totalCal = 0, cal = 1; Console.WriteLine(“Welcome to the magical calorie counter!”); Console.WriteLine(); Console.Write(“Enter in your name -> “); userName = Console.ReadLine(); for (i = 0; i <= 10; i++) { Console.WriteLine("Hello {0}…..Let's add some calories!!", userName); […]