我正在尝试使用Python 3.7 pyautogui以管理员身份打开CMD。我能够导航到开始菜单图标,键入“ cmd”,然后按ctrl + shift + enter以在管理模式下打开cmd。
然后弹出一条消息,提示是或否,是否以管理员身份打开。当我使用pyautogui.press('left')时,它没有按左按钮。
try:
import pyautogui
import time
pyautogui.FAILSAFE = True
pyautogui.PAUSE = 0.5
mouseMovementDuration = 2 #every mouse movement will take 2 secs
intervalBetweenKeyPress = 0.5
def runCMDasAdmin():
x, y = pyautogui.locateCenterOnScreen(r'C:\\Users\\Saru\\Desktop\\PyAutoGUI\\images\\startmenu.png')
pyautogui.click(x=x, y=y,button='left',duration=mouseMovementDuration)
pyautogui.typewrite('cmd', interval=intervalBetweenKeyPress)
pyautogui.hotkey('ctrl', 'shift', 'enter')
pyautogui.press(['left','enter'],interval=intervalBetweenKeyPress)
print(pyautogui.size()) #It will give you the size of the screen
pyautogui.moveTo(x=1919,y=1079,duration=mouseMovementDuration)
pyautogui.moveTo(x=1,y=1,duration=mouseMovementDuration)
runCMDasAdmin()
except Exception as e:
print("Exception Raised------>",str(e))
我想使用pyautogui以管理员身份打开cmd。请帮忙。
答案 0 :(得分:0)
您可以使用批处理脚本以Admin身份打开CMD。 下面是代码。
@echo off
:: BatchGotAdmin
:-------------------------------------
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
set params = %*:"=""
echo UAC.ShellExecute "cmd.exe", "/c %~s0 %params%", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"
exit /B
:gotAdmin
pushd "%CD%"
CD /D "%~dp0"
:--------------------------------------
答案 1 :(得分:0)
由于用户访问控制(UAC)提示在除任何自动化/代码组件的控制之外的单独层上起作用,以确保用户安全。因此,唯一的解决方案是完全禁用UAC提示。禁用UAC提示的过程-在“开始”菜单上,键入UAC,选择“用户访问控制”设置,将其设置为“从不通知”。