pywintypes.error: (1314, ‘SetSystemTime‘, ‘客户端没有所需的特权。‘)
程序员文章站
2022-03-28 16:11:35
报错原因在使用win32api来修改同步windows的系统时间时报win32api.SetSystemTime(tm_year, tm_mon, tm_wday, tm_mday, tm_hour, tm_min, tm_sec, int(msec)) pywintypes.error: (1314, 'SetSystemTime', '客户端没有所需的特权。')代码如下win32api.SetSystemTime(2020,11,1,11,13,10,10,0)错误原因导致这个错误的原因是在...
报错原因
在使用win32api来修改同步windows的系统时间时报win32api.SetSystemTime(tm_year, tm_mon, tm_wday, tm_mday, tm_hour, tm_min, tm_sec, int(msec)) pywintypes.error: (1314, 'SetSystemTime', '客户端没有所需的特权。')
代码如下
win32api.SetSystemTime(2020,11,1,11,13,10,10,0)
错误原因
导致这个错误的原因是在执行这个脚本时,权限不够,需要使用管理员权限来执行这个脚本,我们在调用SetSystemTime
函数之前先做个判断,判断当前用户是否有管理员权限,如果没有就请求管理员权限即可,更正后的代码如下
import win32api
import ctypes, sys
def is_admin():
try:
#获取当前用户的是否为管理员
return ctypes.windll.shell32.IsUserAnAdmin()
except:
return False
if is_admin():
win32api.SetSystemTime(2020,11,1,11,13,10,10,0)
else:
# 重新运行这个程序使用管理员权限
ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, __file__, None, 1)
特别注意 :直接在IDE中运行py文件的时候,可能无法修改系统的时间,以上代码需要在cmd中运行
才行。
本文地址:https://blog.csdn.net/sinat_29957455/article/details/109631373