用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧Visual C++

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

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-03-16 20:32:36

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


一、前 言

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


Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:3,375.00000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号