ITPub博客

首页 > 应用开发 > IT综合 > 在VC6.0中调用浏览器访问WEB页面 (转)

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

原创 IT综合 作者:worldblog 时间:2007-12-06 08:36:05 0 删除 编辑
在VC6.0中调用浏览器访问WEB页面 (转)[@more@]

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


一、前 言

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

二、设计思想

  小辉的实现方法是:首先,通过读取注册表,取得Windows默认浏览器的路径名,然后带参数执行默认浏览器,所带的参数即所要调用的主页地址。——说穿了其实很简单的。
  Windows默认浏览器的键值在注册表中的存放目录是‘HKEY_CLASSES_roothtmlfileshellopencommand’。
  实现代码如下:

三、代码设计

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,
  "htmlfileshellopencommand",
  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);
}


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-988861/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    6241
  • 访问量
    2461888