我正在使用 Visual Studio 在 Windows 上构建一个 C++ 程序。它依赖于一个 COM 基础 API,它发送 Windows 消息以获取通知。
为了处理这些消息,我看到了两种可能性:
- 创建一个 Windows 窗体并在其上调用 doModal 来处理消息,但由于我不想使用任何 UI,所以这不是我想要做的
- 制作我自己的循环来处理消息
我不知道什么是最好的,或者是否有另一种处理消息的方法(可能有一个可以启动循环的 windows 函数)
while( (bRet = GetMessage( &msg, NULL, 0, 0 )) != 0)
{
if (bRet == -1)
{
// handle the error and possibly exit
}
else
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}