首页 > 解决方案 > WinApi C++ \ 创建一个需要每隔几秒左右触发一次事件的应用程序

问题描述

创建一个需要每隔几秒左右触发一次事件的应用程序。

我习惯于游戏设计,其中一个简单EventTick()的由引擎处理的工作就完成了。如何在 WinApi 桌面向导中进行这样的事件。我需要在间歇期间检查 Proc Id。

想着像——

case WM_TICK:
{do thing}
break;

或任何其他方式来做到这一点。我也研究过,WM_Timers但结果好坏参半,所以我想可能还有另一种方法。

标签: c++winapi

解决方案


要检查进程是否仍在运行,请使用 EnumProcesses 或 CreateToolHelp32Snapshot 查找您的进程,然后使用 OpenProcess() 和 PROCESS_QUERY_LIMITED_INFORMATION 来获取该进程的句柄。然后使用GetExitCodeProcess()检查进程是否已终止,如果没有,则输出变量将为 STILL_ACTIVE

您可以使用WM_TIMER在消息循环中执行此操作


推荐阅读