MFC 通过注册表获取系统默认浏览器

获取键值函数:
bool GetRegKey(HKEY key, CString strKeyPath, CString strKeyName, CString &strKeyVal)
{
	HKEY hKey;
	LONG lReturn;
	bool bRet = false;
	lReturn = ::RegOpenKeyEx(key, strKeyPath,0, KEY_READ, &hKey);
	if (lReturn == ERROR_SUCCESS)
	{
		DWORD dwType;
		wchar_t szPath[MAX_PATH];
		DWORD cbData = sizeof(szPath);
		lReturn = RegQueryValueEx(hKey, strKeyName, NULL, &dwType, (LPBYTE)szPath, &cbData);
		if (lReturn == ERROR_SUCCESS && REG_SZ == dwType)
		{
			strKeyVal.Format(_T("%s"),szPath);
			bRet = true;
		}
		RegCloseKey(hKey);
	}
	return bRet;
}
主调函数:
CString CWizardSheet::GetSystemInternetExplorerType(void)
{
	bool bFindBrowser = false;
	CString csExeName;
	CString csType;
	bFindBrowser = GetRegKey(HKEY_CURRENT_USER,_T("Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice"), _T("Progid"), csExeName);
	if(bFindBrowser)
	{
		if (-1 != csExeName.FindOneOf(_T("IE")))
		{
			csType.Format(_T("IE"));
		}
		else
			if (-1 != csExeName.Find(_T("Sogou Explorer")))
			{
				csType.Format(_T("Sogou Explorer"));
			}
			else
				if (-1 != csExeName.Find(_T("Chrome")))
				{
					csType.Format(_T("Chrome"));
				}
				else
					if (-1 != csExeName.Find(_T("Firefox")))
					{
						csType.Format(_T("Firefox"));
					}
					else
						if (-1 != csExeName.Find(_T("Max")))
						{
							csType.Format(_T("Maxthon"));
						} else
						{
							csType.Format(_T("%s"),csExeName);
						}
	}
	return csType;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值