VC編程改造IE瀏覽器
發(fā)表時(shí)間:2023-07-15 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]自從微軟捆綁了IE以后,網(wǎng)蟲們便注定了要永遠(yuǎn)地面對(duì)那一成不變的微軟模式:窗口、按鈕和www.microsoft.com網(wǎng)站,從用戶的角度,我們希望能夠擁有自己特色的IE;從商業(yè)運(yùn)作角度,商人希望無處...
自從微軟捆綁了IE以后,網(wǎng)蟲們便注定了要永遠(yuǎn)地面對(duì)那一成不變的微軟模式:窗口、按鈕和www.microsoft.com網(wǎng)站,從用戶的角度,我們希望能夠擁有自己特色的IE;從商業(yè)運(yùn)作角度,商人希望無處不有他們公司的宣傳信息,希望IE一經(jīng)運(yùn)行便可自動(dòng)進(jìn)入他們的網(wǎng)站。下面筆者介紹一種用VC6編程,通過修改注冊(cè)表來改變IE面貌的方法。
VC修改注冊(cè)表的方法與函數(shù)
注冊(cè)表是由樹干和鍵組成的,對(duì)注冊(cè)表的修改便是對(duì)鍵的修改。
首先,要對(duì)鍵修改需先得到要修改鍵的句柄,VC中為鍵打開一個(gè)句柄,可采用的函數(shù)為L(zhǎng)ONG RegOpenKey命令;然后才能對(duì)鍵進(jìn)行修改,用SetRegValue命令;最后需要釋放得到的鍵句柄,用RegCloseKey(hResult)命令。
通過修改注冊(cè)表實(shí)現(xiàn)IE換貌
我們都知道,在注冊(cè)表中,IE的主要設(shè)置內(nèi)容在鍵HKEY_CURRENT_USER 下面的Software\\Microsoft\\Internet Explorer中,例如,我們想對(duì)IE的啟動(dòng)初始訪問頁(yè)進(jìn)行定義修改,便可以把Software\\Microsoft \\Internet Explorer\\Main下的“Start Page”設(shè)置為需要的網(wǎng)址,如“www.ccidnet.com”。另外通過修改鍵HKEY_CURRENT_USER和鍵HKEY_LOCAL_MACHINE 下面的Software \\Microsoft\\Internet Explorer\\Toolbar里“BackBitmap”和“BackBitmapIE5”的值,即可加入用戶特定的背景圖案。我們通過以下代碼可實(shí)現(xiàn)對(duì)IE的改造:
void CJhfDlg::OnAddAddress()
{
if(AddressNum==0){
AfxMessageBox("沒有可應(yīng)用的選項(xiàng)!");
return;
}
CString address;
int sel=m_address1.GetCurSel();
if(LB_ERR ==sel){
AfxMessageBox("請(qǐng)先選中要應(yīng)用的選項(xiàng)!");
return;
}
m_address1.GetText(sel,address);
//取得所需加入的網(wǎng)址字符串
CString strKey="Software\\Microsoft\\Internet Explorer\\Main";
HKEY hResult;
RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult);
//得到欲修改鍵的句柄
SetRegValue(HKEY_CURRENT_USER,strKey,"Start Page",address);
RegCloseKey(hResult);
//修改注冊(cè)表相應(yīng)的值并釋放鍵句柄
}
2.給工具條指定用戶特定的背景圖案
void CJhfDlg::OnAddBackGround()
{
if(PictureNum==0){
AfxMessageBox("沒有可應(yīng)用的選項(xiàng)!");
return;
}
CString picture;
int sel=m_PicList.GetCurSel();
if(LB_ERR ==sel){
AfxMessageBox("請(qǐng)先選中要應(yīng)用的選項(xiàng)!");
return;
}
m_PicList.GetText(sel,picture);
//取得所需加入背景圖案文件路徑
CString strKey="Software\\Microsoft\\Internet Explorer\\Toolbar";
HKEY hResult;
RegOpenKey(HKEY_CURRENT_USER,(LPCTSTR)strKey,&&hResult);
//得到欲修改鍵的句柄
SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmapIE5",picture);
SetRegValue(HKEY_CURRENT_USER,strKey,"BackBitmap",picture);
RegCloseKey(hResult);
//修改注冊(cè)表相應(yīng)的值并釋放鍵句柄
RegOpenKey(HKEY_LOCAL_MACHINE,(LPCTSTR)strKey,&&hResult);
//得到欲修改鍵的句柄
SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmapIE5",picture);
SetRegValue(HKEY_LOCAL_MACHINE,strKey,"BackBitmap",picture);
RegCloseKey(hResult);
//修改注冊(cè)表相應(yīng)的值并釋放鍵句柄
}
以上只是從幾個(gè)簡(jiǎn)單的方面演示了VC下通過修改注冊(cè)表的方法實(shí)現(xiàn)為IE換貌。讀者可以根據(jù)以上的代碼進(jìn)行更個(gè)性化的修改,以實(shí)現(xiàn)真正意義上的個(gè)性化IE。