C++windowsh库调动IE内核显示网页组件显示bingcom
要在C++中调用IE内核显示网页组件,可以使用C++的Windows API中的WebBrowser控件。以下是一个简单的示例代码,可以在Windows平台上显示bing.com网页:
#include <Windows.h>
#include <Exdisp.h>
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch (msg)
{
case WM_CREATE:
{
RECT rcClient;
GetClientRect(hWnd, &rcClient);
// 创建WebBrowser控件
IWebBrowser2* pWebBrowser;
CoCreateInstance(CLSID_WebBrowser, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pWebBrowser));
pWebBrowser->put_Silent(VARIANT_TRUE); // 静默加载页面
// 设置WebBrowser控件位置和大小
pWebBrowser->put_Left(0);
pWebBrowser->put_Top(0);
pWebBrowser->put_Width(rcClient.right);
pWebBrowser->put_Height(rcClient.bottom);
// 获取WebBrowser控件的HWND
HWND hWndWebBrowser;
pWebBrowser->get_HWND((LONG_PTR*)&hWndWebBrowser);
// 将WebBrowser控件作为子窗口添加到主窗口
SetParent(hWndWebBrowser, hWnd);
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, msg, wParam, lParam);
}
return 0;
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
// 注册窗口类
WNDCLASS wc = { 0 };
wc.lpfnWndProc = WndProc;
wc.hInstance = hInstance;
wc.lpszClassName = L"WebBrowserWindow";
RegisterClass(&wc);
// 创建主窗口
HWND hWnd = CreateWindow(wc.lpszClassName, L"Web Browser", WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, 800, 600, NULL, NULL, hInstance, NULL);
// 显示主窗口
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);
// 消息循环
MSG msg;
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return (int)msg.wParam;
}
编译运行上述代码后,将显示一个大小为800x600的窗口,其中内嵌了一个WebBrowser控件,该控件加载并显示bing.com网页
原文地址: https://www.cveoy.top/t/topic/iNHU 著作权归作者所有。请勿转载和采集!