webbrowser拖动无边框页面移动

通过拦截WebBrowser窗口的鼠标消息,并在宿主窗口的指定区域设置为HTCAPTION,允许用户拖动无边框的WebBrowser页面。实现过程中,首先找到WebBrowser的子窗口,然后替换其窗口过程,当接收到WM_MOUSEACTIVATE消息时,检查鼠标位置,如果在指定区域内则模拟点击标题栏行为,使得页面可被拖动。
摘要由CSDN通过智能技术生成

原理:截取webbrowser窗口的鼠标消息,然后在宿主窗口指定区域返回HTCAPTION

HWND hw = FindWindowEx(m_hWnd,NULL,_T("ActiveXWnd"),NULL);


HWND hSon = FindWindowEx(hw,NULL,_T("Shell Embedding"),NULL);


HWND hGS = FindWindowEx(hSon,NULL,_T("Shell DocObject View"),NULL);


HWND hGGS = FindWindowEx(hGS,NULL,_T("Internet Explorer_Server"),NULL);


m_proc.m_hwnd = m_hWnd;
m_proc.m_oldProc = (WNDPROC)SetWindowLong(hGGS,GWL_WNDPROC,(LONG)CMsgMouseProc::MouseProc);



拦截:

LRESULT CALLBACK CMsgMouseProc::MouseProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
{

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值