已知一个句柄,如何判断它是不是Twebbrowser类?致谢!

1个回答

写回答

xuanxuananita

2025-12-16 17:56

+ 关注

C++
C++

要判断一个句柄是否属于TWebBrowser类,可以通过调用其QueryInterface方法来实现。具体步骤如下:1. 将句柄传递给QueryInterface函数,并指定接口ID为ID_IWebBrowser2。2. 如果成功返回,则表示该句柄属于TWebBrowser类。代码示例如下:C++void TWbBrowser::Test(){ // 创建一个IE窗口 HWND hWnd = ::CreateWindowEx( 0, TEXT("IE"), TEXT(""), WS_VISIBLE | WS_CLIPSIBLINGS | WS_OVERLAPPEDWINDOW, 0, 0, 0, 0, NULL, NULL, GetModuleHandle(NULL), NULL); if (hWnd != NULL) { // 获取句柄 IDispatch* pDispatch = (IDispatch*)hWnd; IDispatch* pDisp2 = 0; if (SUCCEEDED(pDispatch->QueryInterface(IID_IWebBrowser2, (void)&pDisp2))) { // 输出判断结果 CString str; if (SUCCEEDED(pDisp2->QueryInterface(CLSID_MyCtrl, (void)&str)) { std::cout

举报有用(0分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号