`

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

 

分享到:
评论

相关推荐

    vb6_Webbrowser控件使用技巧

    ### vb6_Webbrowser控件使用技巧 #### 一、获得浏览器信息 在Visual Basic 6.0中,可以通过Webbrowser控件获取浏览器的相关信息。具体实现方式如下: 1. **加载网页**: ```vb Private Sub Command1_Click() ...

    Winform测试WebBrowser控件对应的IE版本

    在.NET Framework中,WinForm应用程序经常使用WebBrowser控件来集成网页浏览功能。这个控件实际上是基于Internet Explorer的渲染引擎,因此它的行为和兼容性与用户的IE版本密切相关。本篇文章将详细探讨`WinForm测试...

    WebBrowser控件使用详解

    ### WebBrowser 控件使用详解 #### 一、概述 `WebBrowser` 控件是一个功能强大的组件,用于在 Windows 应用程序中展示 HTML 内容。它可以用来浏览互联网上的网页,也可以用来显示本地的 HTML 文件或者自定义的文档...

    VC webbrowser 一些用法

    在VC++开发中,WebBrowser控件是一种常用的组件,它允许开发者在应用程序中嵌入一个Internet Explorer浏览器引擎,实现网页浏览、交互等功能。本篇文章将深入探讨如何利用VC的WebBrowser控件实现自动填表及提交功能...

    C#中WebBrowser控件的简单调用

    1,在项目中引用程序集拓展中的Microsoft.mshtml后,可以在公共控件中找到WebBrowser控件。 2,在窗体中加入三个按钮,然后添加WebBrowser控件,右键控件选属性,设置相应的属性。 3,设置WebBrowser控件的属性 ...

    C# 利用WebBrowser获取网页信息

    在.NET框架中,C#提供了一个内置的控件——`WebBrowser`,它允许开发者在应用程序内部嵌入一个浏览器引擎,从而实现与网页交互的功能。本篇将详细讲解如何利用C#的`WebBrowser`控件来获取网页信息,包括HTML源代码、...

    WebBrowser控件技巧集

    WebBrowser控件是Windows应用程序开发中的一个重要组件,它允许开发者在桌面应用中嵌入Web浏览功能。这个控件集包含了多种使用WebBrowser控件时的技巧和方法,可以帮助开发者更高效、更灵活地利用该控件。下面我们将...

    C# WebBrowser获取网站数据

    在.NET框架中,C# WebBrowser控件是一个强大的工具,它允许开发者在应用程序中嵌入一个基于Internet Explorer的浏览器引擎,从而实现与网页的交互。本篇将详细讲解如何利用C# WebBrowser控件来伪装成浏览器访问网页...

    webBrowser 网页放大缩小

    在Windows应用程序开发中,`WebBrowser`控件是一个非常实用的工具,它允许开发者在应用程序内嵌入一个浏览器引擎,从而展示网页内容。本话题主要围绕如何使用`WebBrowser`控件实现网页的放大和缩小功能进行深入探讨...

    WebBrowser执行JS脚本示例

    涵盖了几种常用的 webBrowser执行javascript的方法, execScript方式: NavigateScript方式: 其中需要作如下设置 由于visual studio2005 中WebBrowser控件已经实现了IDocHostUIHandler,所以 只要把应用程序属性类的...

    C# 用WebBrowser实现的多页面浏览器

    【C# 用WebBrowser实现的多页面浏览器】是一个基于C#编程语言的项目,它利用内置的WebBrowser控件创建了一个支持多个标签页的浏览器应用程序。WebBrowser控件是.NET Framework提供的一种组件,允许开发者在Windows...

    WebBrowser脚本错误的完美解决方案

    WebBrowser控件是Windows Forms应用程序中用于嵌入网页浏览功能的一个关键组件,它允许开发者在应用内部集成浏览器功能。然而,当浏览的网页存在JavaScript或其他脚本语言的错误时,IE浏览器通常会在左下角显示一个...

    vb WebBrowser屏蔽右键

    在VB (Visual Basic) 应用程序中,`WebBrowser` 控件经常被用来嵌入网页,以实现浏览器的功能。然而,在某些情况下,开发者可能希望禁用或屏蔽用户在`WebBrowser`控件上的右键点击操作,以防止他们执行默认的浏览器...

    C# WebBrowser 任意切换IE版本

    在.NET框架中,C#的`WebBrowser`控件是一个非常实用的组件,它允许开发者在C/S(客户端/服务器)应用程序中内嵌一个浏览器,从而实现与B/S(浏览器/服务器)应用的交互。然而,`WebBrowser`控件默认使用的IE版本可能...

    C#获取WebBrowser中的cookie和userAgent

    WebBrowser控件是一个强大的工具,它允许开发人员在Windows应用程序中嵌入网页浏览功能。本篇文章将详细探讨如何利用C#获取WebBrowser控件中的cookie和userAgent信息。 一、WebBrowser控件简介 WebBrowser控件是...

    C#web打印之WebBrowser

    WebBrowser控件是.NET框架提供的一种强大工具,允许开发者在应用程序中嵌入一个基于Internet Explorer内核的浏览器,用于显示网页内容或者进行网页相关的操作。本主题主要探讨的是如何利用C#中的WebBrowser控件实现...

    强制新窗口只在webBrowser打开

    在C# WinForm开发中,WebBrowser控件是一种常用的组件,用于在应用程序内部展示网页内容。这个控件的行为类似于一个内置的浏览器,但它嵌入在我们的应用程序窗口内,提供了与网页交互的能力。在某些情况下,我们希望...

    C# webbrowser捕获错误页面实例类

    在.NET Framework中,C#的`WebBrowser`控件是一个非常实用的组件,它允许开发者在Windows应用程序中嵌入一个基于Internet Explorer内核的浏览器。然而,在使用`WebBrowser`控件浏览网页时,可能会遇到各种错误,如...

    VB基于WebBrowser打开播放GIF 动画文件

    在本主题中,我们将详细探讨如何利用VB和WebBrowser控件来播放GIF动画文件。 GIF是一种支持动画的图像格式,常用于创建简单的动态效果。在VB中,我们可以借助WebBrowser控件来展示这些动态效果,因为WebBrowser控件...

    通过webbrowser下载文件(看评论酌情下载)

    在IT领域,Web浏览器控件(WebBrowser)是.NET Framework提供的一种强大工具,它允许开发者在应用程序中嵌入一个能够浏览网页的组件。这个控件通常用于创建基于Web的应用程序或者自动化网页操作。本篇文章将深入探讨...

Global site tag (gtag.js) - Google Analytics