2016-12-26 79 views
0

這是我一直在使用以更改註冊表項的值代碼:變化值(默認)註冊表和Python

import winreg 

key = winreg.CreateKey(winreg.HKEY_CURRENT_USER, 'AppEvents\\Schemes\\Apps\\.Default\\.Default\\.Current') 
winreg.SetValueEx(key, '(Default)', 0, winreg.REG_SZ, '') 
key.Close() 

我已經沒有問題,使用該上的任何鍵在註冊表中。由於某種原因,如果數值名稱是(Default),上面的代碼不起作用。它只是插入另一個具有完全相同名稱的值。這看起來很奇怪,因爲沒有一個鍵可以有兩個同名的值。

我猜測名稱看起來完全一樣,但對於註冊表來說,它們不是同一個名稱。但我不確定爲什麼會這樣。

回答

1

您在註冊表中看到的值通常顯示爲(默認)沒有名稱"(Default)",它根本沒有值名稱,因爲它是默認值。 (註冊表查看器僅顯示文本(缺省值)以指示該值的含義。)您可以將空字符串("")或可能的None作爲SetKeyEx的第二個參數傳遞以寫入默認值。

+0

''''和'None'都可以工作。謝謝。 – user2951249