在VC6.0中調用瀏覽器訪問WEB頁面
發表于:2007-07-14來源:作者:點擊數:
標簽:
一、前 言 不少軟件作品都在其[幫助]菜單中加入了[訪問我們的主頁……]之類的功能,小輝對此頗感興趣,查了一些關于它的實現方法,總覺得過于復雜。小輝在設計《小輝桌面王——酒井法子寫真集系列》的時候,成功地在程序中實現了[訪問小輝的主頁……]的功能
一、前 言
不少軟件作品都在其[幫助]菜單中加入了[訪問我們的主頁……]之類的功能,小輝對此頗感興趣,查了一些關于它的實現方法,總覺得過于復雜。小輝在設計《小輝桌面王——酒井法子寫真集系列》的時候,成功地在程序中實現了[訪問小輝的主頁……]的功能(右圖中的第四個按鈕),代碼段非常簡潔,現在有關設置思想和實現代碼附后?!缎≥x桌面王——酒井法子寫真集》是小輝寫的一個小工具,感興趣的讀者可以從這里
下載源代碼(498KB)。
二、設計思想
小輝的實現方法是:首先,通過讀取注冊表,取得
Windows默認瀏覽器的路徑名,然后帶參數執行默認瀏覽器,所帶的參數即所要調用的主頁地址?!f穿了其實很簡單的。
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_SU
CCESS)
{
//打開子關鍵字
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);
}
原文轉自:http://www.kjueaiud.com