vc使用默认的浏览器打开网页
2012-10-06 16:12
405 查看
可以有两种的方式
第一:通过winecec()函数,但是有取得注册表的键值
第二:通过shellexec()他很简单 就是一句话
ShellExecute(NULL,"open","f:\\11.htm",NULL,NULL,SW_SHOW);
把第一种的代码
RegOpenKeyEx
第一:通过winecec()函数,但是有取得注册表的键值
第二:通过shellexec()他很简单 就是一句话
ShellExecute(NULL,"open","f:\\11.htm",NULL,NULL,SW_SHOW);
把第一种的代码
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(RegOpenKeyExA(hkRoot, "htmlfile\\shell\\open\\command", 0, KEY_ALL_ACCESS, &hSubKey)==ERROR_SUCCESS) { //读取注册表,获取默认浏览器的命令行 RegEnumValueA(hSubKey, 0, ValueName, &cbValueName, NULL, &dwType, DataValue, &cbDataValue); // 调用参数(主页地址)赋值 strcpy(ShellChar,(char *)DataValue); strcat(ShellChar, "www.baidu.com"); // 启动浏览器 WinExec(ShellChar,SW_SHOW); } else TRACE("WEB浏览器打开错误!"); } else TRACE("WEB浏览器打开错误!"); //关闭注册表 RegCloseKey(hSubKey); RegCloseKey(hkRoot);
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)表示成功。其他任何值都代表一个错误代码 | |
参数表 | |
参数 | 类型及说明 |
hKey | Long,一个已打开项的句柄,或者指定一个标准项名 |
dwIndex | Long,欲获取值的索引。注意第一个值的索引编号为零 |
lpValueName | String,用于装载位于指定索引处值名的一个缓冲区 |
lpcbValueName | Long,用于装载lpValueName缓冲区长度的一个变量。一旦返回,它会设为实际载入缓冲区的字符数量 |
lpReserved | Long,未用;设为零 |
lpType | Long,用于装载值的类型代码的变量 |
lpData | Byte,用于装载值数据的一个缓冲区 |
lpcbData | Long,用于装载lpData缓冲区长度的一个变量。一旦返回,它会设为实际载入缓冲区的字符数量 |
相关文章推荐
- VC 使用IE、火狐或默认浏览器打开网页ShellExecute
- vc使用默认的浏览器打开网页
- vc使用默认的浏览器打开网页代码
- VC 使用IE、火狐或默认浏览器打开网页ShellExecute
- QT使用默认浏览器打开网页
- C# 调用IE打开网页链接 or 直接使用默认浏览器打开网页链接
- Webview展示网页,超链接使用默认浏览器打开
- C#使用默认浏览器打开指定网页
- C# winform中使用默认浏览器打开网页
- Windows Linux下Java编程使用默认浏览器打开指定网页 网站 URL
- QT使用默认浏览器打开网页
- Webview展示网页,超链接使用默认浏览器打开
- C#使用默认浏览器打开网页的方法
- C# 使用默认浏览器打开网页
- C#怎么使用默认浏览器打开网页
- Win10系统下如何使用默认浏览器打开QQ网页?
- java使用默认浏览器打开一个网页
- C#使用默认浏览器打开网页
- Java使用IE打开网页和使用默认浏览器打开网页的3种方法
- 为什么QQ浏览器不是默认浏览器但是在打开网页的时候还是默认启动?