C++直接调用IE对话框窗体显示页面

王朝c/c++·作者佚名  2006-01-09
宽屏版  字体: |||超大  

#include <windows.h>

#include <urlmon.h>

#include <mshtmhst.h>

/**************************************************************************

WinMain()

**************************************************************************/

int PASCAL WinMain( HINSTANCE hInstance,

HINSTANCE hPrevInstance,

LPSTR lpCmdLine,

int nCmdShow)

{

HINSTANCE hinstMSHTML = LoadLibrary(TEXT("MSHTML.DLL")); //装载动态连接库

WCHAR url[]=L"http://blog.csdn.net/zlyperson";//此地址名称可直接用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 0;

}

VARIANT varArgs;

VARIANT varOut;

VariantInit(&varOut);

varArgs.vt = VT_BSTR;

varArgs.bstrVal = SysAllocString(L"RookIE Browser");

TCHAR *tcFeatures = "dialogWidth:100px;dialogHeight:100px;dialogLeft:0px;dialogTop:0px;";

pfnShowHTMLDialog(NULL, moniker, &varArgs, tcFeatures, &varOut);

VariantClear(&varArgs);

if(moniker != NULL)

moniker->Release();

//显示成功,返回TRUE

return 0;

}

else //GetProcessAddress失败

return 0;

FreeLibrary(hinstMSHTML);

}

else //装载动态连接库失败

return 0;

return 0;

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有