void CGameInquireDlg::OpenURL(CString & openUrl)
{
if(openUrl == "")
return;
HKEY hkRoot, hSubKey; //注册表根关键字及子关键字
CString ValueName;
DWORD dwDataValueLen = MAX_PATH;
unsigned char DataValue[MAX_PATH];
unsigned long cbValueNAME = MAX_PATH;
unsigned long cbDataNAME = MAX_PATH;
CString ShellChar;//定义命令行
DWORD dwType;
//打开注册表根关键字
if(RegOpenKey(HKEY_CLASSES_ROOT,NULL,&hkRoot) == ERROR_SUCCESS)
{
//打开子关键字
if(RegOpenKeyEx(hkRoot,L"htmlfile\\Shell\\open\\command",0, KEY_ALL_ACCESS, &hSubKey) == ERROR_SUCCESS)
{
RegEnumValue(hSubKey, 0, (LPWSTR)ValueName.GetBuffer(MAX_PATH), &cbValueNAME, NULL, &dwType, DataValue,&dwDataValueLen);
ValueName.ReleaseBuffer();
//调用参数赋值
ShellChar = (char *)DataValue;
if(ShellChar == "\"")
{
ShellExecute(NULL, L"open",(LPWSTR)openUrl.GetBuffer(MAX_PATH), NULL, NULL, SW_SHOWNORMAL);
openUrl.ReleaseBuffer();
}
else
{
ShellChar = ShellChar + openUrl;
WinExec((LPCSTR)ShellChar.GetBuffer(MAX_PATH),SW_SHOW);
ShellChar.ReleaseBuffer();
}
}
else
{
RegCloseKey(hSubKey);
RegCloseKey(hkRoot);
ShellExecute(NULL, L"open",(LPWSTR)openUrl.GetBuffer(MAX_PATH), NULL, NULL, SW_SHOWNORMAL);
openUrl.ReleaseBuffer();
}
}
}
默认浏览器打开指定网址
最新推荐文章于 2023-02-09 11:18:41 发布