2011-08-16 33 views
1

我正在設置註冊表項的值無效(使用REG_SZ設置REG_DWORD鍵值)。註冊管理機構會保留之前的價值,還是將其重置爲默認值?將註冊表項設置爲無效值時採用默認值

例如。我已經設置REG_DWORD鍵並將其設置爲值'4'。該鍵的默認值是'2'。現在,當我嘗試使用帶有無效REG_SZ值的'RegSetValueEx(...)'設置此密鑰。設定是成功。現在,如果我得到這個關鍵值,那麼這將是一個默認值'2'或將它是以前的設定值'4'?

回答

3

RegSetValueEx設置數據和類型在註冊表項下的指定值。

它只是將存儲值的類型更改爲REG_SZ並設置您指定的值,它不會檢查之前存在的值或類型。所以當你讀到這個值的時候,你會得到你在那裏設置的最後一個值。沒有'無效的'REG_SZ這樣的東西。

也忘記'密鑰的默認值'。這不是你想象的那樣。這是而不是 API將返回的值,如果出現故障,它只是匿名值的一個奇特名稱。

+0

好的。相當有用的評論,使我寫的所有問題都是無稽之談。需要一些時間在你的洞察中查看代碼,看看我能否更好地理解這一點。 – HokageSama

+0

@HokageSama:你不覺得你應該給他答案嗎? –

+0

是的凱里。出於同樣的原因,我還沒有在瀏覽器選項卡中關閉此頁面。 – HokageSama