में लेखन पहुंच के साथ विंडोज रजिस्ट्री कैसे खोलूं, मुझे पाइथन 2.7.3 _winreg मॉड्यूल में _winreg.QueryValueEx फ़ंक्शन के साथ विंडोज 7 रजिस्ट्री तक पहुंचने में कुछ समस्याएं आ रही हैं।मैं पाइथन
मैं प्रशासक के रूप में अजगर प्रक्रिया चला रहा हूँ, और बना सकते हैं नई कुंजी और मूल्यों इस तरह:
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 "<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()
दिलचस्प है, के रूप में चल प्रशासक, मैं KEY_WRITE या KEY_ALL_ACCESS अधिकारों का उपयोग के साथ खुला नहीं कर सकते हैं:
>>> 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
मुझे पता है कि कैसे व्यवस्थापक विशेषाधिकारों के बिना CreateKey दिलचस्पी होगी। – User
@macdonjo: मुझे लगता है कि आप सुरक्षा बाधाओं के कारण HKLM के साथ ऐसा नहीं कर सकते हैं, लेकिन आप HKCU ('HKEY_CURRENT_USER') – TrinitronX
के तहत कुछ कुंजियों को लिखने में सक्षम हो सकते हैं, हाँ, मैं इसके बजाय CURRENT_USER कर रहा हूं। – User