#To define a particular parameter, replace the 'parameterName' inside itsm.getParameter('parameterName') with that parameter's name
time_to_enable = 3600  # Inactivity timeout in seconds (3600 = 60 mins)
LOCK_SCREEN = 0        # 0 = Enable lock screen | 1 = Disable lock screen

import _winreg
import ctypes
import os

class disable_file_system_redirection:
    _disable = ctypes.windll.kernel32.Wow64DisableWow64FsRedirection
    _revert  = ctypes.windll.kernel32.Wow64RevertWow64FsRedirection
    def __enter__(self):
        self.old_value = ctypes.c_long()
        self.success = self._disable(ctypes.byref(self.old_value))
    def __exit__(self, type, value, traceback):
        if self.success:
            self._revert(self.old_value)

with disable_file_system_redirection():

    # Step 1: Set Lock Screen Policy
    handle1 = _winreg.CreateKeyEx(
        _winreg.HKEY_LOCAL_MACHINE,
        r"SOFTWARE\Policies\Microsoft\Windows\Personalization",
        0, _winreg.KEY_ALL_ACCESS
    )
    _winreg.SetValueEx(handle1, "NoLockScreen", 0, _winreg.REG_DWORD, LOCK_SCREEN)
    _winreg.CloseKey(handle1)

    # Step 2: Set Inactivity Timeout and Lock on Resume
    handle2 = _winreg.CreateKeyEx(
        _winreg.HKEY_CURRENT_USER,
        r"Control Panel\Desktop",
        0, _winreg.KEY_ALL_ACCESS
    )
    _winreg.SetValueEx(handle2, "ScreenSaveTimeOut",   0, _winreg.REG_SZ, str(time_to_enable))
    _winreg.SetValueEx(handle2, "ScreenSaveActive",    0, _winreg.REG_SZ, "1")
    _winreg.SetValueEx(handle2, "ScreenSaverIsSecure", 0, _winreg.REG_SZ, "1")
    _winreg.CloseKey(handle2)

# Step 3: Output Result
if LOCK_SCREEN == 1:
    print "Lock Screen is disabled successfully"
else:
    print "Lock Screen is enabled successfully"
    print "Inactivity timeout set to %d seconds (%d minutes)" % (time_to_enable, time_to_enable / 60)