我正在学习win32模块,我试图基于this重新启动windows,但它不起作用。
代码如下:
import win32security
import win32api
import sys
import time
from ntsecuritycon import *
def AdjustPrivilege(priv, enable=1):
# Get the process token
flags = TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY
htoken =win32security.OpenProcessToken(win32api.GetCurrentProcess(), flags)
# Get the ID for the system shutdown privilege.
idd = win32security.LookupPrivilegeValue(None, priv)
# Now obtain the privilege for this process.
# Create a list of the privileges to be added.
if enable:
newPrivileges = [(idd, SE_PRIVILEGE_ENABLED)]
else:
newPrivileges = [(idd, 0)]
# and make the adjustment
win32security.AdjustTokenPrivileges(htoken,0,newPrivileges)
def RebootServer(message='Rebooting', timeout=30,bForce=0,bReboot=1):
AdjustPrivilege(SE_SHUTDOWN_NAME)
try:
win32api.InitiateSystemShutdown(None,message,timeout,bForce,bReboot)
finally:
# Now we remove the privilege we just added.
AdjustPrivilege(SE_SHUTDOWN_NAME, 0)
def AbortReboot():
AdjustPrivilege(SE_SHUTDOWN_NAME)
try:
win32api.AbortSystemShotdown(None)
finally:
AdjustPrivilege(SE_SHUTDOWN_NAME, 0)
if __name__ == '__main__':
RebootServer()
time.sleep(10)
print ('Aborting shutdown')
AbortReboot()
我使用Python3.4版本,我的操作系统是Windows7(64) 我得到一个错误:
^{pr2}$
目前没有回答
相关问题 更多 >
编程相关推荐