横秋扫盲系列(1): MessageBox 消息对话框 -- 2005-8-7 16:37:30

本文详细介绍了 MessageBox 对话框的使用,包括 MB_SYSTEMMODAL 和 MB_SERVICE_NOTIFICATION 参数的作用,如何通过 MessageBoxIndirect 自定义图标,利用 WH_CBT 钩子设置窗口位置和修改按钮文本,以及实现一段时间后自动消失的 MessageBox。同时还提供了具体的代码示例和应用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.参数的使用(MB_SYSTEMMODAL和MB_SERVICE_NOTIFICATION)
MB_SYSTEMMODAL 所有窗口的Modal模式,含 WS_EX_TOPMOST 风格(该风格可通过MB_TOPMOST单独设定) 
MB_SERVICE_NOTIFICATION 显示在当前桌面,即使没有用户登录(一般用于service 服务)

2.MessageBoxIndirect (一般用于自定义图标)
  MSGBOXPARAMS msgBox;
  msgBox.cbSize = sizeof(MSGBOXPARAMS);
  msgBox.dwStyle = MB_USERICON | nButtons;
  msgBox.hInstance = AfxGetApp()->m_hInstance;
  msgBox.hwndOwner = NULL;
  msgBox.lpszCaption = lpszTitle;
  msgBox.lpszIcon = MAKEINTRESOURCE(nResourceID);//资源中的ICON
  msgBox.lpszText = lpszText;
  MessageBoxIndirect(&msgBox);

3.WH_CBT 钩子 (一般用于设定窗口位置和修改按钮文本)
a)设定窗口的位置(http://support.microsoft.com/default.aspx?scid=kb;en-us;180936
HHOOK hHook;
LRESULT CALLBACK CBTPro

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值