我有一個處理WM_INITDIALOG消息以獲取有關消息框信息的WH_CALLWNDPROC掛鉤代碼。我可以得到「消息」,「標題」,「按鈕」,但我無法獲得「圖標」信息。我試圖用一個函數象下面這樣:如何使用WinAPI獲取MessageBox圖標
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間諜++檢查,我看到圖標句柄是0 什麼是讓圖標正確的方法是什麼?
的'MessageBox'圖標是系統圖標,你可以通過'LoadImage'(或'LoadIcon')加載使用'IDI_INFORMATION',' IDI_ERROR','IDI_WARNING'或'IDI_QUESTION'。 – jamesdlin