'daki yazma erişimi ile nasıl açabilirim Windows 7 Kayıt Defteri'ne Python 2.7.3 _winreg modülündeki _winreg.QueryValueEx işlevine erişirken bazı sorunlar yaşıyorum.Windows Kayıt Defteri'ni Python
Ben Yönetici olarak piton sürecini çalıştırıyorum ve oluşturabileceğiniz yeni anahtarlar ve değerler böyle:
import _winreg as wreg
key = wreg.CreateKey(wreg.HKEY_LOCAL_MACHINE, "Software\\TestCompany\\TestProject")
# Create new subkey
wreg.SetValue(key, 'NewSubkey', wreg.REG_SZ, 'testsubkey')
print wreg.QueryValue(key, 'NewSubKey')
# prints 'testsubkey'
# Create new value
wreg.SetValueEx(key, 'ValueName', 0, wreg.REG_SZ, 'testvalue')
print wreg.QueryValueEx(key,'ValueName')
# prints (u'testvalue', 1)
key.Close()
Ancak, yeniden açmak zaman aynı anahtar ve deneyin olarak çalışan İlginçtir
key = wreg.OpenKey(wreg.HKEY_LOCAL_MACHINE, "Software\\TestCompany\\TestProject",wreg.KEY_SET_VALUE)
wreg.SetValue(key, 'NewSubkey', wreg.REG_SZ, 'subkey_changed')
print wreg.QueryValue(key, 'NewSubkey')
# prints 'subkey_changed'
wreg.SetValueEx(key, 'ValueName', 0, wreg.REG_SZ, 'value_changed')
Traceback (most recent call last):
File "<pyshell#43>", line 1, in <module>
wreg.SetValueEx(key, 'ValueName', 0, wreg.REG_SZ, 'value_changed')
WindowsError: [Error 5] Access is denied
print wreg.QueryValueEx(key, 'ValueName')
# still prints: (u'testvalue', 1)
key.Close()
: değeri, bana bir Access is denied
hata veriyor Yönetici, ben KEY_WRITE veya KEY_ALL_ACCESS erişim hakları ile açamıyor:
>>> key = wreg.OpenKey(wreg.HKEY_LOCAL_MACHINE, "Software\\TestCompany\\TestProject",wreg.KEY_WRITE)
Traceback (most recent call last):
File "<pyshell#47>", line 1, in <module>
key = wreg.OpenKey(wreg.HKEY_LOCAL_MACHINE, "Software\\TestCompany\\TestProject",wreg.KEY_WRITE)
WindowsError: [Error 5] Access is denied
>>> key = wreg.OpenKey(wreg.HKEY_LOCAL_MACHINE, "Software\\TestCompany\\TestProject",wreg.KEY_ALL_ACCESS)
Traceback (most recent call last):
File "<pyshell#48>", line 1, in <module>
key = wreg.OpenKey(wreg.HKEY_LOCAL_MACHINE, "Software\\TestCompany\\TestProject",wreg.KEY_ALL_ACCESS)
WindowsError: [Error 5] Access is denied
Ben yönetici ayrıcalıklarına sahip olmayan CreateKey nasıl bilmek ilgi duyarım. – User
@macdonjo: Güvenlik kısıtlamaları nedeniyle HKLM ile bunu yapamazsınız, ancak HKCU ('HKEY_CURRENT_USER') – TrinitronX
altında belirli tuşlara yazabilirsiniz Evet, bunun yerine CURRENT_USER yapıyordum. – User