python访问服务器注册表,如何在Python中使用写入权限打开Windows注册表
我運行蟒蛇過程管理員,并且可以創建新的鍵和值是這樣的:
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()
然而,當我重新打開相同的密鑰,并嘗試設置值,它給我一個Access is denied錯誤:
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 "", line 1, in
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()
>>> key = wreg.OpenKey(wreg.HKEY_LOCAL_MACHINE, "Software\\TestCompany\\TestProject",wreg.KEY_WRITE)
Traceback (most recent call last):
File "", line 1, in
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 "", line 1, in
key = wreg.OpenKey(wreg.HKEY_LOCAL_MACHINE, "Software\\TestCompany\\TestProject",wreg.KEY_ALL_ACCESS)
WindowsError: [Error 5] Access is denied
+0
我很想知道如何沒有管理員權限CreateKey。 –
2014-04-20 23:59:56
+1
@macdonjo:由于安全限制,我認為你不能這樣做,但你可以寫HKCU下的某些密鑰('HKEY_CURRENT_USER') –
2014-04-21 23:40:46
+0
是的,我最終做了CURRENT_USER。 –
2014-04-22 02:30:32
總結
以上是生活随笔為你收集整理的python访问服务器注册表,如何在Python中使用写入权限打开Windows注册表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机社团活动教学计划,社团活动教学计划
- 下一篇: python输出变量代码_Python中