通過程式修改登錄檔鍵值來達到修改IE配置引數的目的

2021-05-22 00:31:45 字數 1541 閱讀 5003

使用ie訪問應用程式或網頁時經常需要設定一些選項(工具-internet 選項),比如為了避免快取網頁,把工具-internet選項-常規選項卡-internet臨時檔案-設定,檢查所存網頁的較新版本設定成:每次訪問此頁時檢查(ie6)。這些操作都可以通過介面完成,但有時為了方便需要在程式中統一對某些選項進行設定。我們都知道作業系統和應用軟體的一些配置相關資訊都需要儲存在檔案當中使其永久生效,這些資訊儲存的位置就是登錄檔,登錄檔相當於作業系統的乙個資料庫。同樣ie的一些配置資訊也是在登錄檔中儲存,修改ie的配置就可以通過修改器對應的登錄檔變數值來實現,當然也可以通過ie對應的windows api介面函式進行修改,但最終都會反映在登錄檔中,因此通過修改ie登錄檔鍵值來達到修改ie配置的目的。下面就以上面提到為例(工具-internet選項-常規選項卡-internet臨時檔案-設定,檢查所存網頁的較新版本設定成:每次訪問此頁時檢查)說明一下修改過程:

從網路上收集了一些ie配置引數與登錄檔變數對應關係的資訊,大都說的比較粗略,只是對幾個主要的選項設定進行了說明,上面的選項需要修改哪個登錄檔鍵值沒有說明,但是可以大體了解到ie配置資訊在登錄檔中存放的位置:

hkey_current_user/software/microsoft/windows/currentversion/internet settings

hkey_current_user/software/microsoft/internet explorer

hkey_local_machine/software/microsoft/internet explorer

於是想到把這3個位置對應的值全部匯出,然後修改ie的設定後再匯出一次,通過文字編輯工具(ultraedit)對比兩次匯出的檔案差異,會發現有一些不通的地方,通過觀察分析發現hkey_current_user/software/microsoft/windows/currentversion/internet settings位置有個專案syncmode5兩個檔案對應的值不一樣,分別為:dword:00000004 和 dword:00000003 ,為了盡一步驗證判斷是否準確再對ie選項重新設定發現syncmode5隨著變化,經過試驗發現 ie檢查所存網頁的較新版本各選項對應關係如下:

syncmode5值    ie檢查所存網頁的較新版本

3              每次訪問此頁時檢查

2              每次訪問internet explore時檢查

4              自動

0              不檢查

因此可以通過修改登錄檔鍵值來達到修改ie配置引數的目錄,修改後生效前需要重啟ie,順便把修改登錄檔變數值和重啟ie的**新增上(vc++ 6.0)。

修改登錄檔變數:

processentry32 pe;

handle hd ;

pe.dwsize = sizeof(processentry32);

if (!process32first(hsnapshot, &pe))

while (process32next(hsnapshot, &pe)) }}

通過程式修改登錄檔鍵值來達到修改IE配置引數的目的

使用ie訪問應用程式或網頁時經常需要設定一些選項 工具 internet 選項 比如為了避免快取網頁,把工具 internet選項 常規選項卡 internet臨時檔案 設定,檢查所存網頁的較新版本設定成 每次訪問此頁時檢查 ie6 這些操作都可以通過介面完成,但有時為了方便需要在程式中統一對某些選...

如何通過修改登錄檔來修改預設瀏覽器?

1 開始 執行 輸入regedit,開啟登錄檔編輯器 2 找到hkey classes root http shell open command,在右邊的視窗中雙擊 預設 將要用瀏覽器的可執行檔案的完全路徑輸入到這裡,例如設定ie為預設瀏覽器 輸入 c program files internet ...

win7下c 程式修改登錄檔的許可權問題

最近在做乙個cs的專案,專案已經完成,後來發現不相容windows7,經過一番整改,終於大功落成。現將心得體會寫在這裡。首先讀取登錄檔要給使用者管理員得許可權。exe在vista或win7下不以管理員許可權執行,會被uac 使用者帳戶控制 阻止訪問系統某些功能,如修改登錄檔操作等 如何讓exe以管理...