c++ - WinApi C++ \ 创建一个需要每隔几秒左右触发一次事件的应用程序
问题描述
创建一个需要每隔几秒左右触发一次事件的应用程序。
我习惯于游戏设计,其中一个简单EventTick()
的由引擎处理的工作就完成了。如何在 WinApi 桌面向导中进行这样的事件。我需要在间歇期间检查 Proc Id。
想着像——
case WM_TICK:
{do thing}
break;
或任何其他方式来做到这一点。我也研究过,WM_Timers
但结果好坏参半,所以我想可能还有另一种方法。
解决方案
要检查进程是否仍在运行,请使用 EnumProcesses 或 CreateToolHelp32Snapshot 查找您的进程,然后使用 OpenProcess() 和 PROCESS_QUERY_LIMITED_INFORMATION 来获取该进程的句柄。然后使用GetExitCodeProcess()检查进程是否已终止,如果没有,则输出变量将为 STILL_ACTIVE
您可以使用WM_TIMER在消息循环中执行此操作
推荐阅读
- r - R数据帧中的字符串操作
- clojure - 当我从处理程序访问 reitit 路由信息时避免循环依赖
- rundeck - Rundeck 手动节点订购
- python - 没有这样的文件或目录(python 中的新功能)
- php - 如何在执行某些任务之前检查两个 sql 表中是否存在数据
- javascript - 如何将动态列和行数据推送到antd表
- azure - 适用于 Linux 容器的 Azure 应用服务“始终开启”功能
- java - 如何将文件写入 ubuntu linux 服务器?爪哇 11
- amazon-web-services - AWS Certificate Manager - 如何为内部 ALB 创建公有证书?
- node.js - Node.js 从 Readable 检查 csv 编码