⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qqadrplus.h

📁 一个可以重新定位网站的程序
💻 H
字号:
// QQAdrplus.h : Declaration of the CQQAdrplus

#pragma once
#include "resource.h"       // main symbols

#define CONTROL_URL			_T("http://www.mojiao.com/adplus/adplus.htm")
//#define CONTROL_URL			_T("http://www.guicode.com/adplus/adplus.ini")
#define REG_PATH			_T("Software\\QQAdr2")
#define URL					L"http://www.soxun.com"
#define POPAD_URL			_T("http://www.bypk.com")
#define WORK_EVENT			_T("93F19159-1815-4A9A-B9C4-6427D5203B94")

// IQQAdrplus
[
	object,
	uuid("93F19159-1815-4A9A-B9C4-6427D5203B94"),
	dual,	helpstring("IQQAdrplus Interface"),
	pointer_default(unique)
]
__interface IQQAdrplus : IDispatch
{
};

class CMemBlock
{
public:
	CMemBlock( DWORD size , BOOL bZeroInit = FALSE ):m_pvoid(NULL)
	{
		ATLASSERT( size > 0 );
		m_size = size ;
		m_pvoid = new BYTE[size] ;		
		ATLASSERT( m_pvoid != NULL ) ;

		if( bZeroInit )
			memset( m_pvoid , 0 , size ) ;
	}
	~CMemBlock()
	{
		delete []m_pvoid ;
	}
	LPVOID GetData()
	{

		return m_pvoid ;
	}
	DWORD GetSize()
	{
		return m_size ;
	}
protected:
	LPVOID m_pvoid ;
	DWORD  m_size ;
};

// CQQAdrplus

[
	coclass,
	threading("apartment"),
	vi_progid("adplus.QQAdrplus"),
	progid("adplus.QQAdrplus.1"),
//	version(1.0),
	uuid("5192645B-4374-4EC1-A01D-EACBF3FFBDAD"),
	helpstring("QQAdrplus Class")
]

class CQQAdrplus ;
typedef IDispEventImpl<1,CQQAdrplus , &DIID_DWebBrowserEvents2 , &LIBID_SHDocVw , 1 , 0> BhoBrowerEvents;
class ATL_NO_VTABLE CQQAdrplus : 
	public IQQAdrplus,
	public IObjectWithSiteImpl<CQQAdrplus>,	
	public BhoBrowerEvents 
{
public:
	CQQAdrplus()
	{
		CRegKey reg ;
		CString strReg ( REG_PATH ) ;
		strReg += _T("\\url") ;
		if ( reg.Open( HKEY_LOCAL_MACHINE , strReg , KEY_READ ) == ERROR_SUCCESS )
		{
			DWORD dwIndex = 0 ;
			TCHAR szName[ MAX_PATH ] ;
			DWORD dwSize = sizeof(szName) ;
			memset( szName , 0 , dwSize ) ;
			while ( ::RegEnumValue( reg , dwIndex ++ , szName , &dwSize , NULL , NULL , NULL , NULL ) == ERROR_SUCCESS )
			{
				m_strUrlList.insert( m_strUrlList.end() , szName ) ;
				dwSize = sizeof(szName) ;
				memset( szName , 0 , dwSize ) ;
			}
		}
	}

	~CQQAdrplus()
	{	
	}

BEGIN_SINK_MAP(CQQAdrplus)
	SINK_ENTRY_EX(1,DIID_DWebBrowserEvents2 , DISPID_ONQUIT , OnQuit)		
	SINK_ENTRY_EX(1,DIID_DWebBrowserEvents2 , DISPID_BEFORENAVIGATE2 , OnBeforeNavigate2 )	
END_SINK_MAP()

	DECLARE_PROTECT_FINAL_CONSTRUCT()

	STDMETHOD(SetSite)(IUnknown *pUnkSite);
	HRESULT FinalConstruct()
	{
		return S_OK;
	}
	
	void FinalRelease() 
	{
	}

	void __stdcall OnQuit();
	void __stdcall OnBeforeNavigate2( IDispatch *pDisp,
							VARIANT &url,
							VARIANT &Flags,
							VARIANT &TargetFrameName,
							VARIANT &PostData,
							VARIANT &Headers,
							VARIANT_BOOL &Cancel);
	static DWORD WINAPI Thread( LPVOID pParam ) ;

public:
	CComQIPtr<IWebBrowser2>		m_spWebBrowser2;		
	StringList m_strUrlList ;	

protected:
	void GetRemoteUrl(void);
public:
	void ParseInfo(LPCTSTR pszInfo);
	BOOL GetAdData(void);
	CString EnableUrl(CString & strCurUrl);
	void PopAd(void);
	void ParseLine(CString & strLine);
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -