webBrowser

//******** part 1**************
#include   <atlbase.h>  
#include   <atlcom.h>  
#include   <atlwin.h>  
#pragma   comment(lib,"atl")   
//******** part 1**************

//******** part 3**************
	CComPtr<IWebBrowser2>   pWebBrowser;   
	CAxWindow WinContainer;//这个是atl提供的com容器
	//******** part 3**************

  .cpp

//******** part 2**************
	//初始化com和atl
	CoInitialize(NULL);  
	AtlAxWinInit();  
	//chenjian_webIE zhushi end
	WinContainer=NULL;
	//******** part 2**************

 另外的

.h

#include "../BaseClass/Dialog.h"
//******** part 1**************
#include   <atlbase.h>  
#include   <atlwin.h>  
#pragma   comment(lib,"atl")  
#pragma comment(lib,"User32.lib")


//******** part 3**************
	IWebBrowser2* iWebBrowser;
	CAxWindow WinContainer;//这个是atl提供的com容器
	//******** part 3**************

 .cpp

void LicenseDialog::OnInitDialog()
{
	TCHAR tcText[128] = {0};
	TradeI18n* pTradeI18n = ((TradeApp*)this->GetRes()->GetParam())->GetTradeI18n();

	pTradeI18n->GetString(tcText, TEXT("License_Title"));
	::SendMessage(this->GetHWND(), WM_SETTEXT, 0, (LPARAM)tcText);

	pTradeI18n->GetString(tcText, TEXT("License_Agree"));
	::SendMessage(GetDlgItem(this->GetHWND(), IDC_LICENSEL_BTN_AGREE), WM_SETTEXT, 0, (LPARAM)tcText);

	pTradeI18n->GetString(tcText, TEXT("License_Refuse"));
	::SendMessage(GetDlgItem(this->GetHWND(), IDC_LICENSEL_BTN_REFUSE), WM_SETTEXT, 0, (LPARAM)tcText);


	const LPRECTEX pRectEx = this->GetRectEx();

	RECT rRect;

	rRect.left = pRectEx->X;
	rRect.right = pRectEx->X + pRectEx->Width;
	rRect.top = pRectEx->Y;
	rRect.bottom = pRectEx->Y + pRectEx->Height-50;

	
	this->CreateIEPlayer();

	if (WinContainer!=NULL)
	{
		WinContainer.MoveWindow(&rRect,FALSE);
		WinContainer.ShowWindow(SW_SHOWNA);
	}

	/*TCHAR tcLiceselPath[MAX_PATH] = {0};
	swprintf(tcLiceselPath, TEXT("%s\\License.txt"), g_pApplication->GetAppPath());
	HANDLE hFile = CreateFile(tcLiceselPath, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
	if ((NULL == hFile) || (hFile == INVALID_HANDLE_VALUE))
	{
		TCHAR tcText[128] = {0}, tcTitle[128] = {0};
		pTradeI18n->GetString(tcText, TEXT("License_NotExist"));
		pTradeI18n->GetString(tcTitle, TEXT("MsgBox_Title_Error"));
		MessageBox(this->GetHWND(), tcText, tcTitle, MB_ICONERROR);

		EnableWindow(GetDlgItem(this->GetHWND(), IDC_LICENSEL_BTN_AGREE), FALSE);

		return;
	}

	DWORD length = GetFileSize(hFile, NULL) / sizeof(TCHAR) + 1;
	LPTSTR ptcLicesel = new TCHAR[length];
	memset(ptcLicesel, 0, length * sizeof(TCHAR));

	DWORD read = 0;
	ReadFile(hFile, ptcLicesel, length * sizeof(TCHAR), &read, NULL);

	CloseHandle(hFile);

	LPTSTR pointer = ptcLicesel;
	if ((pointer[0] == 0xff) &&
		(pointer[1] == 0xfe))
	{
		pointer = &ptcLicesel[2];
	}

	::SendMessage(GetDlgItem(this->GetHWND(), IDC_LICENSEL_EDT_CONTENT), WM_SETTEXT, 0, (LPARAM)ptcLicesel);

	delete []ptcLicesel;*/
}


BOOL LicenseDialog::CreateIEPlayer()
{
	try
	{
		
		浏览器控件
		//获取本地文件地址
		TCHAR cFilePath[MAX_PATH] = {0};
		TCHAR cAppFileName[MAX_PATH] = {0};
		GetModuleFileName(0, cAppFileName, MAX_PATH);
		TCHAR* p = wcsrchr(cAppFileName, '\\');
		*p = 0;
		swprintf_s(cFilePath, _T("%s\\License.html"), cAppFileName);
		LPOLESTR pszName=OLESTR("shell.Explorer.2");
		if (WinContainer==NULL)
		{
			RECT rc;  
			GetClientRect(this->GetHWND(),&rc); 

			WinContainer.Create(this->GetHWND(),&rc,0,WS_CHILD   |   WS_VISIBLE); 
			WinContainer.CreateControl(pszName);
			HRESULT hr = WinContainer.QueryControl(__uuidof(IWebBrowser2),(void**)&iWebBrowser);  
			
			if(FAILED(hr))
			{
				return FALSE;  
			}
			
			VARIANT varMyURL;
			VariantInit(&varMyURL);

			varMyURL.vt = VT_BSTR;
			varMyURL.bstrVal = SysAllocString(cFilePath);//创建网页

			iWebBrowser->Navigate2(&varMyURL,0,0,0,0);   

			VariantClear(&varMyURL);
			iWebBrowser-> Release(); 
		}

	}
	catch (...)
	{

	}
	return TRUE;
	//创建完成

}

 问题

HttpOpenDependencyHandle

删除软件的wininet.dll

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值