Windows預設瀏覽器的索引值在註冊表中的存放目錄是‘HKEY_CLASSES_ROOT/htmlfile/shell/open/command’。
實現代碼如下:
void CXHDeskDlg::OnBtnWeb()
{
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(RegOpenKeyEx(hkRoot,
"htmlfile//shell//open//command",
0,
KEY_ALL_ACCESS,
&hSubKey)==ERROR_SUCCESS)
{
//讀取註冊表,擷取預設瀏覽器的命令列
RegEnumValue(hSubKey,
0,
ValueName,
&cbValueName,
NULL,
&dwType,
DataValue,
&cbDataValue);
// 調用參數(首頁地址)賦值
strcpy(ShellChar,(char *)DataValue);
strcat(ShellChar," www.neaase.net/~xiaohui");
// 啟動瀏覽器
WinExec(ShellChar,SW_SHOW);
}
else
MessageBox("WEB瀏覽器開啟錯誤!","錯誤",MB_OK);
}
else
MessageBox("WEB瀏覽器開啟錯誤!","錯誤",MB_OK);
//關閉註冊表
RegCloseKey(hSubKey);
RegCloseKey(hkRoot);
}