【发布时间】:2012-10-08 19:30:48
【问题描述】:
我有一个 WH_CALLWNDPROC 挂钩代码,它处理 WM_INITDIALOG 消息以获取有关消息框的信息。我可以获得“消息”、“标题”、“按钮”,但无法获得“图标”信息。我正在尝试使用如下函数:
long getIcon(HWND hwnd) { // handle of messagebox dialog
HWND hlbl = GetDlgItem(hwnd,20);
wcout << "LABEL HWND: " << hlbl << endl;
if (hlbl != NULL) {
LRESULT r = SendMessage(hlbl,WM_GETICON,0,0);
return (long)r;
}
return 0;
}
函数总是返回 0。我通过 MS Spy++ 进行了检查,发现图标句柄为 0。 获取图标的正确方法是什么?
【问题讨论】:
-
MessageBox图标是系统图标,您可以通过LoadImage(或LoadIcon)与IDI_INFORMATION、IDI_ERROR、IDI_WARNING或IDI_QUESTION一起加载。跨度>
标签: winapi visual-c++ messagebox