温馨提示×

如何使 messagebox 弹出后不获取窗口焦点

小云
125
2023-08-07 14:19:57
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

要使messagebox弹出后不获取窗口焦点,可以使用Win32 API中的MessageBox函数,并设置参数为MB_SYSTEMMODAL。

示例代码如下:

#include <windows.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
// 创建一个窗口
HWND hWnd = CreateWindowEx(0, "STATIC", "Window", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 500, 300, NULL, NULL, hInstance, NULL);
// 弹出消息框,不获取窗口焦点
MessageBox(hWnd, "Hello World", "Message", MB_SYSTEMMODAL);
// 显示窗口
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);
// 消息循环
MSG msg;
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}

在上面的示例代码中,通过设置MessageBox函数的第四个参数为MB_SYSTEMMODAL,即可实现消息框弹出后不获取窗口焦点。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:怎么使messagebox弹出后不获取窗口焦点

0