万能消息循环(处理所有的快捷键、所有窗口的焦点移动)(需要C++11编译器并#include <unordered_set>)
MSG msg;
std::unordered_set<haccel> haccel_set;
haccel_set.insert(LoadAcceleratorsW(hInstance, (wchar_t*)IDR_ACCELERATOR1));
// 主消息循环:
while (GetMessageW(&msg, 0, 0, 0))
{
BOOL bOK = FALSE;
for (HACCEL haccel : haccel_set)
{
bOK = bOK || TranslateAcceleratorW(msg.hwnd, haccel, &msg);
}
if (!bOK && !IsDialogMessageW(msg.hwnd, &msg))
{
TranslateMessage(&msg);
DispatchMessageW(&msg);
}
}</haccel>