开源小工具一:获取客户端内嵌IE控件(Internet Explorer_Server)的URL

本文介绍了如何利用WTL库获取客户端内嵌的Internet Explorer_Server控件的URL,以腾讯电脑管家为例,展示了获取到的本地静态页面地址,并提到360可能进行了特殊处理无法捕获。
摘要由CSDN通过智能技术生成

前言:

做客户端开发的很多时候,我们需要查看别人的客户端里面嵌入的网页,查看里面的JS等等,于是就写了一个简单的工具来获取这些嵌入IE的客户端使用的地址。

原理:

开启一个后台线程,不断获取当前鼠标所在位置的窗口句柄,通过这个句柄判断窗口class是不是IE的Internet Explorer_Server,然后通过COM接口来获取IE对象,通过接口获取其内部链接的URL地址。为了提高效率,使用快捷键来捕获和停止捕获。使用时,Alt+B开启捕获,移动鼠标到IE网页上面后就会获得地址了,然后Alt+S停止捕获,就可以去复制链接的URL了。

<span style="font-family: Arial, Helvetica, sans-serif;">// MainDlg.h : interface of the CMainDlg class</span>
//
/

#pragma once
#include <string>
using std::wstring;
#define WM_GETNEW_WND	WM_USER+100
#define WM_HOTKEY_BASE	100


inline bool operator != (const RECT& rc1, const RECT& rc2)
{
	return ((rc1.left!=rc2.left)
		|| (rc1.top!=rc2.top)
		|| (rc1.right!=rc2.right)
		|| (rc1.bottom!=rc2.bottom));
}

class CMainDlg : public CDialogImpl<CMainDlg>
{
public:
	static bool s_bThreadSwitch;
	static bool s_bRunning;
	static HBRUSH s_hFrameBrush;
	HWND m_hEditWnd;
	enum { IDD = IDD_MAINDLG };
	CMainDlg()
		:m_hEditWnd(NULL)
	{

	}
	BEGIN_MSG_MAP(CMainDlg)
		MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
		MESSAGE_HANDLER(WM_GETNEW_WND, OnGetNewWindow)
		MESSAGE_HANDLER(WM_DESTROY, OnDestroy)
		MESSAGE_HANDLER(WM_HOTKEY, OnHotKey)
		COMMAND_ID_HANDLER(ID_APP_ABOUT, OnAppAbout)
		COMMAND_ID_HANDLER(IDOK, OnOK)
		COMMAND_ID_HANDLER(IDCANCEL, OnCancel)
	END_MSG
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值