VC++程序中用對話框的形式顯示HTML文件
發表于:2007-07-14來源:作者:點擊數:
標簽:
---- 在 安 裝 了IE 4 后, 可 以 在 程 序 中 用 對 話 框 的 形 式 顯 示HTML 文 件, 如 彈 出 用HTML 寫 的 幫 助 文 件 等 等, 如 同 直 接 用 瀏 覽 器, 但 又 與 瀏 覽 器 風 格 不 同。 ---- 其 實 現 如 下: //在頭文件或.cpp文件的開頭 包含文
---- 在 安 裝 了IE 4 后, 可 以 在 程 序 中 用 對 話 框 的 形 式 顯 示HTML 文 件, 如 彈 出 用HTML 寫 的 幫 助 文 件 等 等, 如 同 直 接 用 瀏 覽 器, 但 又 與 瀏 覽 器 風 格 不 同。
---- 其 實 現 如 下:
//在頭文件或.cpp文件的開頭
包含文件urlmon.h,定義函數
/////
#include "urlmon.h"
typedef HRESULT S
TDAPICALLTYPE SHOWHTMLDIALOGFN
(HWND hwndParent, IMoniker
*pmk, VARIANT *pvarArgIn, TCHAR* pchOptions,
VARIANT *pvArgOut);
//////
//函數顯示對話框,成功返回TRUE,失敗返回FALSE
BOOL ShowHtml()
{
HINSTANCE hinstMSHTML = LoadLibrary
(TEXT("MSHTML.DLL")); //裝載動態連
接庫
WCHAR url[]=L"HTTP://www.ccw.com.cn";
//此地址名稱可直接用html文件名代替
if(hinstMSHTML)//裝載動態連接庫成功
{
SHOWHTMLDIALOGFN *pfnShowHTMLDialog;
pfnShowHTMLDialog = (SHOWHTMLDIALOGFN*)
GetProcAddress(hinstMSHTML,
TEXT ("ShowHTMLDialog"));
if(pfnShowHTMLDialog)
{
IMoniker *moniker=NULL;
//
if( FAILED(CreateURLMoniker(NULL,
(LPWSTR)url,&moniker ) ))
{
FreeLibrary(hinstMSHTML);
return FALSE;
}
//調用ShowHTMLDialog函數顯示URL上的HTML文件
pfnShowHTMLDialog(m_hWnd,moniker,NULL,NULL,NULL);
if(moniker!=NULL)
moniker->Release();
//顯示成功,返回TRUE
return TRUE;
}
else //GetProcessAddress失敗
return FALSE;
FreeLibrary(hinstMSHTML);
}
else //裝載動態連接庫失敗
return FALSE;
}
原文轉自:http://www.kjueaiud.com