c# - c#在windows窗体应用程序中获取后台进程
问题描述
我正在构建一个员工监控应用程序,我必须在其中捕获员工使用的所有应用程序我想要应用程序名称、应用程序启动时间和应用程序关闭时间,以便我将这些数据保存到 sql server 中。
我仍然捕获进程开始时间和名称,但是当进程或应用程序被用户关闭时我遇到了问题。像一些应用程序,包括微软团队,当用户关闭我的代码时,我的代码永远不会被命中,因为微软团队在后台运行。当我从任务管理器结束任务微软团队时,我的代码就会执行。我正在使用 C# 进程类。任何可以帮助我的人
解决方案
通过“关闭”,我假设您的意思是quit。像 Teams 这样的一些应用程序有一个选项(关闭时,保持应用程序运行),当右键单击Tasbbar >关闭窗口上的图标或单击右上角的X时,只会将应用程序最小化到 Windows任务托盘,离开Teams.exe跑步。所以从技术上讲,这种情况下的用户并没有退出/关闭 MS Teams 或类似的。
操作:
当我从任务管理器结束任务微软团队时,我的代码就会执行。
这是设计使然。您的代码仅在进程退出时执行,直到您终止它,Teams 仍在按照用户的意图运行。
使用On close, keep the application running选项,您的代码应该在用户说时执行:
- 右键单击任务栏上的团队图标并选择退出或
- 通过任务管理器杀死它或
- 退出 Windows
推荐阅读
- python - 如何获得熊猫列的特定百分位跨度?
- c# - 将 SQL 查询转换为 LINQ 或 LINQ fluent 语法
- c# - BoDi.ObjectContainerException:无法解析接口:OpenQA.Selenium.IWebDriver
- c++ - 在模板化数据结构上调用 begin() 或 end()
- jestjs - 开玩笑 puppeteer 自定义测试环境中的全局在测试中丢失上下文
- google-apps-script - 如何使用应用程序脚本调用工作簿/工作表 - 完全合格的参考
- java - org.springframework.web.servlet.DispatcherServlet noHandlerFound 404 错误响应
- r - 如何在闪避直方图的不同 bin 之间插入填充?
- javascript - AJAX 请求返回带有属性的 JSON,而不是整个字符串作为一个值
- asp.net-mvc - 发布网站后表单不起作用,但它在本地主机上工作