c# - 如何捕捉新进程的启动和停止?

标签 c#

<分区>

我想知道是否有人知道捕捉新应用程序在计算机上启动或停止的方法。例如,用户登录并打开 word、outlook 或 IE。我想 catch 那个实例开放。我一直在使用 Process。

我正在构建一个在后台运行并写入事件日志的服务。

       public string applicationID()
    {
        Process p = new Process();
        string application = p.ProcessName.ToString();
        return application;
    }

我知道做一个 foreach 来获取进程列表。一些指针或示例会很棒。

最佳答案

获得流程对象后,您可以向“Exited”事件添加处理程序以检测它何时停止。请注意,“EnableRaisingEvents”属性必须设置为“True”才能生效,您可以在使用 GetProcesses() 获取 Process 对象后进行设置。

http://msdn.microsoft.com/en-us/library/system.diagnostics.process.exited.aspx

关于c# - 如何捕捉新进程的启动和停止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18107877/

相关文章:

c# - OnMouseDown() 事件 Unity 的问题

c# - 如果 POST 请求中的文件总大小超过 30MB,ASP.NET Core 将抛出 -4077 ECONNRESET

c# - 项目无法识别包含在不同程序集中的构造函数

c# - Socket.ReceiveAsync 什么时候同步返回?

c# - 如何在单元测试中处理后台线程中的异常?

c# - 如何使用 EF Core 将 JSON 存储在实体字段中?

c# - 通过 Exchange Web 服务 (EWS) 错误或 SSL 查询全局地址列表 (GAL)

c# - "[Authorize(Roles = ADMIN)]"中的括号在 ASP.NET 中意味着什么?

c# - Azure key 保管库 : access denied

c# - 将自动调整图像大小的 ImageButton