Как определить внутренний HWND, используемый COM в моем текущем процессе?
Я хочу публиковать сообщения непосредственно в HWND, который принадлежит COM в моем процессе. Как получить HWND, который COM использует в режиме однопотоковой квартиры?
1 ответ
Попробуй это:
HWND prevWindow = NULL;
HWND hwnd;
for ( ;; )
{
hwnd = FindWindowEx( HWND_MESSAGE, prevWindow, L"OleMainThreadWndClass", NULL );
if ( !hwnd )
break;
if ( GetWindowThreadProcessId( hwnd, NULL ) == GetCurrentThreadId() )
break;
prevWindow = hwnd;
WCHAR className[255];
*className = 0;
::GetClassName( hwnd, className, 255 );
}
Дайте мне знать, если это работает.