My FAQ,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Visual C++ > Internet
在VC6.0中调用浏览器访问WEB页面
作者:ShowMan 时间:2001-10-09 10:09 出处:互联网 责编:MyFAQ
              摘要:在VC6.0中调用浏览器访问WEB页面

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

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 myfaq.com.cn All rights reserved. www.myfaq.com.cn 版权所有