メッセージボックスに関する情報を取得するためにWM_INITDIALOGメッセージを処理するWH_CALLWNDPROCフックコードがあります。「メッセージ」、「タイトル」、「ボタン」は取得できましたが、「アイコン」情報は取得できませんでした。私は以下のような関数を使おうとしています:
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を返します。MSSpy++で確認したところ、アイコンハンドルが0であることがわかりました。アイコンを取得する正しい方法は何ですか。