阻止进程在从服务启动时启动,并在某些进程关闭后继续运行服务。
Blocking processes to start on startup from a service & continue running service after some processes are down.
我有一个在系统权限上运行的C++Windows服务,我需要对加载到多个Windows进程(资源管理器.exe等)的某些DLL进行一些更改。
这样做的唯一时间是当这些进程关闭时。我试图将对用户体验的影响降到最低,所以我不想强迫退出这些或弹出任何烦人的消息框并要求用户这样做。
我尝试在我的服务启动时启动此任务,问题是其中几个进程在我完成之前就开始了。
我试图了解是否有办法在 Windows 启动时延迟进程的启动,直到我完成任务。我可以设置任何事件或任何熟悉的东西来阻止这些事件或任何内容?
另一种选择是在关机时执行所需的任务。我还没有找到这样做的方法,所有相关问题似乎都有点旧(如何延迟关机并在窗口服务中运行进程 ),以及关于旧版本的窗口。
此解决方案需要与大于 7 的 Windows 版本兼容。
您可以通过使用MoveFileEx
并设置MOVEFILE_DELAY_UNTIL_REBOOT
来执行此操作,这将在下次重新启动时替换该文件。
这应该在任何其他进程开始之前,但是如果没有有关您的用例的更多详细信息,很难判断这是否适合您。无论哪种方式,搜索此标志都应为您提供有关此类问题的大量信息。
根据文档,这从XP开始就得到了支持。
相关文章:
- Win7 C++ - 从以用户身份登录的服务启动可执行文件的问题
- Windows 服务在启动时不进入_tmain
- IO服务重新启动后,Boost最后期限计时器持续触发
- WTSFreeMemory在启动期间从服务调用时挂起-我应该省略吗
- 如何读取windows服务启动的控制台应用程序的输出
- 通过服务启动进程后,从SHGetKnownFolderPath 0x80070005错误
- 阻止进程在从服务启动时启动,并在某些进程关闭后继续运行服务。
- LG电视通过串行使用Windows服务在PC开机后运行约30秒 - 如何更快地启动服务
- 如何从 Windows 上的服务在未登录用户的桌面上启动应用程序
- 如何调试由于"TypeInitializationException"而无法启动的服务
- Windows 服务启动的超时值是多少
- Selinux拒绝在Android 8上启动服务
- Windows 7 驱动程序服务启动
- 在使用WiX进行主要升级后无法启动Windows服务
- 如何从 NDK 安卓启动服务
- 如何在 c++ 中获取有关服务的启动类型的信息
- 错误 1503:服务未及时响应启动或控制请求
- 服务重新启动后未释放套接字
- 启动服务时找不到文件
- 启动服务在启动时需要很长时间