Windows API 是屬於 Windows 作業系統其中一部分的動態連結程式庫 ( DLL )。當您無法自行寫入對等程序時,您就可使用它們來執行工作,本文使用 Windows API 來對登錄表進行操作。
更多文章,請到我在點部落所建立的部落格「.NET菜鳥自救會」閱讀
http://www.dotblogs.com.tw/chou/
簡介
Windows API 是屬於 Windows 作業系統其中一部分的動態連結程式庫 ( DLL )。當您無法自行寫入對等程序時,您就可使用它們來執行工作,本文使用 Windows API 來對登錄表進行操作。
*註 : 想了解 Windows API 可以做什麼事情的人,可上 MSDN查詢,或參考此網站 PINVOKE.NET。
http://www.pinvoke.net/
登錄表操作
登錄表是一個龐雜的資料庫,它紀錄了Windows 所必需要的硬體和軟體訊息,其4個主要的根目錄與數個附加目錄如下所示 :
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
HKEY_PERFORMANCE_DATA
HKEY_PERFORMANCE_TEXT
HKEY_PERFORMANCE_NLSTEXT
HKEY_CURRENT_CONFIG
HKEY_DYN_DATA
在 Windows API 中,對於登錄表操作的部份就在coredll.dll,可參考 MSDN 上的 Registry Functions 列表,幾個常用到的如下所示 :
RegCreateKeyEx : 註冊新的鍵值
http://msdn.microsoft.com/en-us/library/ms724844(VS.85).aspx
RegOpenKeyEx : 開啟鍵值
http://msdn.microsoft.com/en-us/library/ms724897(VS.85).aspx
RegCloseKey : 關閉鍵值
http://msdn.microsoft.com/en-us/library/ms724837(VS.85).aspx
RegSetValueEx : 設定鍵值
http://msdn.microsoft.com/en-us/library/ms724923(VS.85).aspx
RegQueryValueEx : 傳回鍵值的類型和值
http://msdn.microsoft.com/en-us/library/ms724911(VS.85).aspx
以下範例為按下 Set 按鈕後,新增與設定新的登錄檔,以及按下 Get 按鈕後,顯示剛剛新增的登錄檔。
程式碼
(2) 按下 Get 按鈕後,顯示剛剛新增的登錄檔