《解讀window核心程式設計》 之 登錄檔

2021-09-07 11:53:05 字數 1958 閱讀 5465

1 登錄檔的作用及組織形式

windows系統使用登錄檔來儲存系統和應用程式配置資料。非常多系統和應用程式重要的配置的資訊都儲存在登錄檔中。

登錄檔是一種以樹型結構組織的資料庫。樹的每個節點稱

作鍵(key),每乙個節點能夠包括若干子鍵,鍵能夠儲存資料,儲存的資料稱作鍵值。乙個鍵不管其是否有子鍵,都能夠有鍵值。乙個鍵能夠有非常多個鍵值,每乙個鍵值都有乙個名字。包括若干資料。所包括的資料型別能夠有非常多種,表10.1列出了登錄檔資料型別。

系統自帶的登錄檔編輯器(regedit.exe)能夠列舉、檢視、改動、新增、刪除鍵和子鍵、鍵值。

2.鍵、子鍵、鍵屬性及鍵值的相關操作

在對登錄檔鍵進行操作前,須要使用api函式regopenkey、regopenkeyex開啟鍵。

在開啟鍵後。假設須要建立新的鍵,使用api函式regcreatekey、regcreatekeyex。

這兩組函式都將返回鍵的控制代碼(hkey型別)。在得到鍵的控制代碼後,能夠對鍵進行操作。

建立子鍵使用前述regcreatekey、reg createkeyex api函式;刪除鍵使regdeletekey、regdeletekeyex函式,regqueryinfokey api函式獲取鍵多方面的資訊,包含鍵值、子鍵等;獲取和設定鍵值還能夠使用reggetvalue、regqueryvalueex、regsetvalueex、regquerymultiplevalues等函式;刪除指定的鍵值使用regdeletevalue函式;假設須要遍歷子鍵和鍵值,能夠使用api函式regenumkeyex和regenumvalue函式。

3 列舉登錄檔項及鍵值

遍歷子鍵和鍵值能夠使用api函式regenumkeyex和regenumvalue函式。regqueryinfokey。regenumkeyex和regenumvalue相配合能夠完畢對乙個鍵的全部子鍵及鍵值的列舉。

4 通過登錄檔設定乙個自啟動的程式

程式的自啟動有非常多種方法。登錄檔是當中最經常使用的一種,有多個鍵具有這樣的功能。最經常使用的有:hkey_lo cal_machine\software\microsoft\windows\currentversion\run,僅僅需設定reg二sz型別的鍵值,將值設定為程式的路徑就可以使用程式在系統啟動時自啟動。

假設僅僅須要在下次系統啟動時自啟動一次,那麼能夠設定鍵hkey_local_machine\ software\microsoft\windows\currentversion\runonce的鍵值。

5 設定隨程式啟動而啟動的偵錯程式(不論什麼程式)

本節將介紹怎樣在程式啟動時載入偵錯程式(讀者也能夠用於設定自啟動程式)。「hkey_local_machine\softwareymicrosoft,\windows nt\currentversion\image file

execution options」下的子鍵能夠用於指定啟動偵錯程式。

如須要除錯os_info.exe,在「image fileexecution options」鍵下建立子鍵「os_info.exe」。然後建立鍵值,名為「debugger」,型別為reg_sz。資料為啟動偵錯程式的命令列。這裡指向windbg,如:「c:\program files\debugging tools forwindows\windbg.exe」(能夠是不論什麼可執行檔案,比方notepad.exe。在載入鍵名稱程式模組時,會首先啟動「debugger」鍵值指定的應用程式,並以鍵名指向的可執行程式為引數)。執行os_info.exe就會啟動windbg執行除錯。

6.指定程式崩潰實時偵錯程式

能夠通過登錄檔指定實時偵錯程式,比方指定為windbg或ollydbg等偵錯程式。

指定實時偵錯程式的方法為指定登錄檔鍵「hkey local machine\software\microsoft\ windows

nt\currentversion\aedebug」的「debugger」鍵值。

《解讀window核心程式設計》 之 登錄檔

1 登錄檔的作用及組織形式 windows系統使用登錄檔來儲存系統和應用程式配置資料。非常多系統和應用程式重要的配置的資訊都儲存在登錄檔中。登錄檔是一種以樹型結構組織的資料庫。樹的每個節點稱 作鍵 key 每乙個節點能夠包括若干子鍵,鍵能夠儲存資料,儲存的資料稱作鍵值。乙個鍵不管其是否有子鍵,都能夠...

windows核心程式設計之核心物件

由於不是計算機科班出身,一直對於程序和執行緒沒有深入的了解,現開始看windows核心程式設計,將具體內容整理一下,以加深印象。1 核心物件,即作業系統維護的乙個資料結構,內部維護該物件的各種資料資訊,常見的核心物件有 用於建立程序的程序核心物件,用於建立執行緒的執行緒核心物件,建立檔案的檔案核心物...

Lua核心程式設計之基礎

由於本人這個學期選了一門選修課 cocos2d x移動遊戲開發 所以想整理一下筆記了。不保證部落格的全面性,我只記一些我認為需要記錄的,最好的學習方式還是看書。學習資料 cocos2d x之lua核心程式設計 極客學院 老師的ppt 學習環境 mac os x,sublime text,cocos2...