C++如何在工作和过程中停止服务
C++ how to stop service during the doing work and process
我在C++
和Windows服务应用程序中较新。
我不能将ATL
用于Windows服务。
我想为Windows服务编写理解它们的基本代码。
现在,我为Windows服务编写了一个示例代码,该代码进入一个循环存在:
for (int i = 0; i < 600; i++) // for this source 600 equal 1 hours
现在,我希望如果用户在i = 100
SCM
点击了stop the service
,这个forloop
在任何i
,break
和服务都被停止。
有人可以帮助我吗?
好吧,我尝试获得最佳解决方案:
- 你必须使用线程
- 并且您必须将事件添加到您的程序中
-
最终,您可以使用以下代码来检查事件是否发生?
WaitForSingleObject(g_ServiceStopEvent, 0) != WAIT_OBJECT_0
注意:不要忘记在ServiceCtrlHandler函数中,您必须使用:
in case SERVICE_CONTROL_STOP use : SetEvent(g_ServiceStopEvent);
上帝幸运
相关文章:
- 是否删除在对象构造过程中创建的对象
- 如何在鼠标挂钩过程中检测拖动
- clang 插件:在编译过程中修改 AST
- Adafruit 羽毛RFM69HCW在使用过程中会冻结,需要硬重置
- 线程过程中的线程同步问题
- MySQL 连接器/C++.尝试在此过程中停止连接到数据库
- C++ 在编译过程中 strtok 函数 Eclipse 说没有在范围内声明?
- 在调用过程中删除 std::函数
- 动态矩阵特征分解过程中的误差
- cmake在构建过程中使用另一个工具检测标志
- 在模板参数推导过程中丢失限定符
- 升压过程中的管道缓冲区大小
- 如何在插入过程中更改插入的值
- 在PostgreSQL函数或过程中使用C++代码
- Vulkan:设备在缓冲区复制过程中丢失
- 如何解决导入dll过程中Viual Studio中的并排配置错误
- C++:如何在对象构造过程中调用初始值设定项列表之外的成员构造函数
- Node中的子节点列表在C++中的BFS遍历过程中丢失
- 复制文件的最佳方式是什么,以便我可以在复制过程中轻松取消复制?
- C++如何在工作和过程中停止服务