1 importwin32api, win32con2 importsys3
4 __author__ = 'Berlin'
5
6 defModifyReg(key, keyPath, valueName, valueType, value):7 try:8 '''
9 RegConnectRegistry:10 computerName: string(If None, the local computer is used)11 key: int(May be win32con.HKEY_LOCAL_MACHINE...)12 '''
13 keyHandle =win32api.RegConnectRegistry(None, key)14 '''
15 RegOpenKeyEx:16 key: PyHKEY/int17 subKey: string18 reserved = 0: int(Reserved. Must be zero.)19 sam = KEY_READ: int(If you want to set the value later, you must open the key with KEY_SET_VALUE)20 '''
21 subkeyHandle =win32api.RegOpenKeyEx(keyHandle, keyPath)22 '''
23 RegQueryValueEx:24 key: PyHKEY/int25 valueName: The name of the value to query26 '''
27 (currValue, type) =win32api.RegQueryValueEx(subkeyHandle, valueName)28 if (currValue ==value):29 print 'PASS: Check reg value: %s' %valueName30 return 1
31 else:32 print 'INFO: The %s is not the same as %s' %(valueName, value)33 print 'INFO: Try to set %s as %s' %(valueName, value)34 subkeyHandle =win32api.RegOpenKeyEx(keyHandle, keyPath, 0, win32con.KEY_SET_VALUE)35 '''
36 RegSetValueEx:37 key: PyHKEY/int38 valueName: string(The name of the value to set)39 reserved: any(Zero will always be passed to the API function)40 type: int(REG_DWORD, REG_SZ ...)41 value: registry data42 '''
43 win32api.RegSetValueEx(subkeyHandle, valueName, 0, valueType, value)44 except:45 print 'FAIL: ModifyReg %s. Exception happened. Exception happened when accessing registry key under %s.' %(valueName, keyPath)46 return047 print 'SUCCESS: ModifyReg %s value under %s' %(valueName, keyPath)48 return 1
49
50 defmain():51 key =win32con.HKEY_LOCAL_MACHINE52 AUPath = r'SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update'
53 valueName = r'AUOptions'
54 valueType =win32con.REG_DWORD55 value = 1
56 ModifyReg(key, AUPath, valueName, valueType, value)57
58 if __name__ == '__main__':59 sys.exit(main())