我需要运行一个在python中启动服务的脚本。问题是当命令在cmd中运行时,会出现UAC窗口。我找到了一些解决方案:
我甚至试过点击"是"按钮,但这里的问题是脚本停止UAC消息出现的时刻。我很欣赏这个问题的任何想法!如果我在消息打开时找到了继续运行脚本的方法,我可以轻松点击"是"那会解决它。
这是我想要运行的脚本:
import datetime
import win32api, win32con
import sys, os, traceback, types
def run(test, browserName = None):
import win32com.shell.shell as shell
commands = 'python F:\service.py'
shell.ShellExecuteEx(lpVerb='runas', lpFile='cmd.exe', lpParameters='/c '+commands)
并在F:\ service.py中:
import win32serviceutil
serviceName = "myService"
win32serviceutil.StopService(serviceName)
#From here on is where I try of clicking "Yes" which is not working
x = 953
y = 639
click(x,y)
def click(x,y):
win32api.SetCursorPos((x,y))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)