私はメッセージングツールに取り組んでいます。メッセージング ウィンドウは、アプリケーション全体の一部です。メッセージが来たら、ウィンドウを前面に出す必要があります。私はこのコードを使用しています:
if( m_hwnd == NULL || !::IsWindow(m_hwnd) )
return E_UNEXPECTED;
if(::IsIconic(m_hwnd))
{
::ShowWindowAsync( m_hwnd, SW_RESTORE );
}
::SetWindowPos(m_hwnd, HWND_TOP, 0, 0, 0, 0, SWP_ASYNCWINDOWPOS | SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW);
::SetForegroundWindow(m_hwnd);
if( pvbProcessed != NULL )
*pvbProcessed = VARIANT_TRUE;
return S_OK;
TOPMOST を実行しようとしましたが、それでもうまくいかない場合があります。::BringToFront() も試しました。
なぜそれが機能しないのか、誰でも助けたり説明したりできますか? これはマイクロソフトの既知の制限ですか。