方法:通过读取注册表找到对应的浏览器地址,解析地址,然后调用系统方法打开对应的网址
//参数说明:key是对应的注册表键,path是后面的路径,keyname是对应的具体的项,默认项的话keyname为""即可
//返回值:返回系统注册表中的地址值,为空则返回错误。
wstring GetDefaultExplore(HKEY key, wstring strKeyPath, wstring strKeyName)
{
wstring strKeyVal;
HKEY hKey;
LONG lReturn;
bool bRet = false;
lReturn = ::RegOpenKeyEx(key, strKeyPath.c_str(),0, KEY_READ, &hKey);
if (lReturn == ERROR_SUCCESS)
{
DWORD dwType;
wchar_t szPath[MAX_PATH];
DWORD cbData = sizeof(szPath);
lReturn = RegQueryValueEx(hKey, strKeyName.c_str(), NULL, &dwType, (LPBYTE)szPath, &cbData);
if (lReturn == ERROR_SUCCESS && REG_SZ == dwType)
{
strKeyVal = szPath;
}
RegCloseKey(hKey);
}
return strKeyVal;
}
上面方法中用到的RegOpenKeyEx及后面几个方法都是注册表操作相关函数:
参考msdn: https://msdn.mi
方法:通过读取注册表找到对应的浏览器地址,解析地址,然后调用系统方法打开对应的网址
//参数说明:key是对应的注册表键,path是后面的路径,keyname是对应的具体的项,默认项的话keyname为""即可
//返回值:返回系统注册表中的地址值,为空则返回错误。
wstring GetDefaultExplore(HKEY key, wstring strKeyPath, wstring strKeyName)
{
wstring strKeyVal;
HKEY hKey;
LONG lReturn;
bool bRet = false;
lReturn = ::RegOpenKeyEx(key, strKeyPath.c_str(),0, KEY_READ, &hKey);
if (lReturn == ERROR_SUCCESS)
{
DWORD dwType;
wchar_t szPath[MAX_PATH];
DWORD cbData = sizeof(szPath);
lReturn = RegQueryValueEx(hKey, strKeyName.c_str(), NULL, &dwType, (LPBYTE)szPath, &cbData);
if (lReturn == ERROR_SUCCESS && REG_SZ == dwType)
{
strKeyVal = szPath;
}
RegCloseKey(hKey);
}
return strKeyVal;
}
上面方法中用到的RegOpenKeyEx及后面几个方法都是注册表操作相关函数:
参考msdn: https://msdn.mi