在VC6.0中调用浏览器访问WEB页面

王朝c/c++·作者佚名  2006-01-06
窄屏简体版  字體: |||超大  

在VC6.0中调用浏览器访问WEB页面 作者:小辉

一、前言

不少软件作品都在其[帮助]菜单中加入了[访问我们的主页……]之类的功能,小辉对此颇感兴趣,查了一些关于它的实现方法,总觉得过于复杂。小辉在设计《小辉桌面王——酒井法子写真集系列》的时候,成功地在程序中实现了[访问小辉的主页……]的功能(右图中的第四个按钮),代码段非常简洁,现在有关设置思想和实现代码附后。《小辉桌面王——酒井法子写真集》是小辉写的一个小工具,感兴趣的读者可以从这里下载源代码(498KB)

二、设计思想

小辉的实现方法是:首先,通过读取注册表,取得Windows默认浏览器的路径名,然后带参数执行默认浏览器,所带的参数即所要调用的主页地址。——说穿了其实很简单的。

Windows默认浏览器的键值在注册表中的存放目录是‘HKEY_CLASSES_ROOT\htmlfile\shell\open\command’。

实现代码如下:

三、代码设计

void CXHDeskDlg::OnBtnWeb()

{

HKEY hkRoot,hSubKey; //定义注册表根关键字及子关键字

char ValueName[256];

unsigned char DataValue[256];

unsigned long cbValueName=256;

unsigned long cbDataValue=256;

char ShellChar[256]; //定义命令行

DWORD dwType;

//打开注册表根关键字

if(RegOpenKey(HKEY_CLASSES_ROOT,NULL,&hkRoot)==ERROR_SUCCESS)

{

//打开子关键字

if(RegOpenKeyEx(hkRoot,

"htmlfile\\shell\\open\\command",

0,

KEY_ALL_ACCESS,

&hSubKey)==ERROR_SUCCESS)

{

//读取注册表,获取默认浏览器的命令行

RegEnumValue(hSubKey,

0,

ValueName,

&cbValueName,

NULL,

&dwType,

DataValue,

&cbDataValue);

// 调用参数(主页地址)赋值

strcpy(ShellChar,(char *)DataValue);

strcat(ShellChar," www.neaase.net/~xiaohui");

// 启动浏览器

WinExec(ShellChar,SW_SHOW);

}

else

MessageBox("WEB浏览器打开错误!","错误",MB_OK);

}

else

MessageBox("WEB浏览器打开错误!","错误",MB_OK);

//关闭注册表

RegCloseKey(hSubKey);

RegCloseKey(hkRoot);

}

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