我想将消息直接发布到我的进程中 COM 拥有的 HWND。如何获取 COM 在单线程单元模式下使用的 HWND?
最佳答案
试试这个:
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 );
}
让我知道它是否有效。
关于c - 如何确定当前进程中 COM 使用的内部 HWND?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45385193/