首页 | 社区 | 博客 | 招聘 | 文章 | 新闻 | 下载 | 读书 | 代码
亲,您未登录哦! 登录 | 注册

在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);


}

本栏文章均来自于互联网,版权归原作者和各发布网站所有,本站收集这些文章仅供学习参考之用。任何人都不能将这些文章用于商业或者其他目的。( Pfan.cn )

编程爱好者论坛

本栏最新文章