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