vc使用默认的浏览器打开网页代码

可以有两种的方式
第一:通过winecec()函数,但是有取得注册表的键值
第二:通过shellexec()他很简单 就是一句话
ShellExecute(NULL,"open","f:\\11.htm",NULL,NULL,SW_SHOW);
 
 
 
把第一种的代码 //  HKEY  hKetRoot,hkeySub;
//   charValueName[MAX_PATH];
//   unsigned charDataValue[MAX_PATH];
//   unsigned longcbValueName=MAX_PATH;
//   unsigned longcbDataValue=MAX_PATH;
//   char IE[MAX_PATH];
//   DWORD dwType;
//  if(RegOpenKey(HKEY_CLASSES_ROOT,NULL,&hKetRoot)==ERROR_SUCCESS)//hKetRoot接受打开键值得HANDLE
//   {
//   if(RegOpenKeyEx(hKetRoot,"htmlfile\\shell\\open\\command",0,KEY_ALL_ACCESS,&hkeySub)==ERROR_SUCCESS)
//    //列举了指定打开得注册表得值
//    RegEnumValue(hkeySub,0,ValueName,&cbValueName,NULL,&dwType,DataValue,&cbDataValue);
//    strcpy(IE,(char *)DataValue);
//    strcat(IE,"F:\\11.htm");
//    //q启动浏览器
//    WinExec(IE,SW_SHOW);
//
//    }
//    else
//    MessageBox("浏览器打开失败","信息提示",MB_OK);
//
//   }
//       else
//    MessageBox("浏览器打开失败","信息提示",MB_OK);
//   RegCloseKey(hKetRoot);
//   RegCloseKey(hkeySub);
 
RegOpenKeyEx
RegOpenKeyEx()

函数功能描述:打开一个制定的注册表键

函数原型:

LONG RegOpenKeyEx(
                        HKEYhKey,            //已经打开键的句柄
                        LPCTSTRlpSubKey,    // 子键的名称
                        DWORDulOptions,    // 保留
                        REGSAMsamDesired, // 安全访问标记
                        PHKEYphkResult    //指向将要打开键的句柄
);

参数:

    hKey
            [输入]当前打开或者以下预定义的键。
                                    HKEY_CLASSES_ROOT
                                    HKEY_CURRENT_CONFIG
                                    HKEY_CURRENT_USER
                                    HKEY_LOCAL_MACHINE
                                    HKEY_USERS
            WindowsNT/2000/XP: HKEY_PERFORMANCE_DATA
            Windows95/98/Me: HKEY_DYN_DATA

    lpSubKey
            [输入]指向一个非中断字符串包含将要打开键的名称。如果参数设置为NULL或者指向一个空字符串,过程将打开一个新的句柄由hKey参数确定的值。这种情况下,过程不会关闭先前已经打开的句柄。


    ulOptions
            保留,必须设置为0
       
    samDesired
            [输入]对指定键希望得到的访问权限的访问标记。这个参数可以使下列值的联合。
                    值                                                        Meaning
                KEY_CREATE_LINK                            许可创建一个符号连接
                KEY_CREATE_SUB_KEY                        许可创建子键
                KEY_ENUMERATE_SUB_KEYS                    许可列举子键
                KEY_EXECUTE                                许可读访问
                KEY_NOTIFY                                    许可提供更该通知
                KEY_QUERY_VALUE                            许可查询子键数据
                KEY_SET_VALUE                                许可设置子键数据
                KEY_ALL_ACCESS                            联合了KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS,
                                                                KEY_NOTIFY,KEY_CREATE_SUB_KEY, KEY_CREATE_LINK,
                                                                KEY_SET_VALUE访问权限并且加上所有的标准访问权限
                                                                除了SYNCHRONIZE   
                KEY_READ                                    联合了STANDARD_RIGHTS_READ, KEY_QUERY_VALUE,
                                                                KEY_ENUMERATE_SUB_KEYS,KEY_NOTIFY 访问权限
                KEY_WOW64_64KEY                            Windows XP:使64位或者32位应用程序打开64位键
                KEY_WOW64_32KEY                            Windows XP:使64位或者32位应用程序打开32位键
                KEY_WRITE                                    联合STANDARD_RIGHTS_WRITE,KEY_SET_VALUE,   
                                                                KEY_CREATE_SUB_KEY访问权限

    phkResult
            [输出]指向一个被打开键返回的句柄的指针。当不再需要句柄,必须调用RegCloseKey 关闭它。
 
 
RegEnumValue
VB声明
Declare Function RegEnumValue Lib"advapi32.dll" Alias "RegEnumValueA" (ByVal hKey As Long, ByValdwIndex As Long, ByVal lpValueName As String, lpcbValueName AsLong, lpReserved As Long, lpType As Long, lpData As Byte, lpcbDataAs Long) As Long
说明
枚举指定项的值
返回值
Long,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
参数表
参数类型及说明
hKeyLong,一个已打开项的句柄,或者指定一个标准项名
dwIndexLong,欲获取值的索引。注意第一个值的索引编号为零
lpValueNameString,用于装载位于指定索引处值名的一个缓冲区
lpcbValueNameLong,用于装载lpValueName缓冲区长度的一个变量。一旦返回,它会设为实际载入缓冲区的字符数量
lpReservedLong,未用;设为零
lpTypeLong,用于装载值的类型代码的变量
lpDataByte,用于装载值数据的一个缓冲区
lpcbDataLong,用于装载lpData缓冲区长度的一个变量。一旦返回,它会设为实际载入缓冲区的字符数量


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值