【问题标题】:getting error as pywinauto.application.AppStartError: Could not create the process "mmc printmanagement.msc"出现 pywinauto.application.AppStartError 错误:无法创建进程“mmc printmanagement.msc”
【发布时间】:2021-06-23 05:28:05
【问题描述】:

我正在尝试使用以下代码打开printmanagement.msc。但是出现错误。

我的代码:

from pywinauto.application import Application
Application().start(r'mmc printmanagement.msc')

错误:

pywinauto.application.AppStartError: Could not create the process "mmc printmanagement.msc"
Error returned by CreateProcess: (740, 'CreateProcess', 'The requested operation requires elevation.')

【问题讨论】:

    标签: pywinauto


    【解决方案1】:

    提升意味着“以管理员身份运行”。您应该以管理员身份启动 Python 进程(或您的 IDE,或在控制台中启动 python.exe 之前的 cmd.exe)。 mmc.exe 的父进程必须以管理员身份运行。

    另一种允许自动提升的方法(如果 Python 不是特权进程):

    Application().start(r'cmd.exe /c mmc.exe printmanagement.msc', wait_for_idle=False)
    

    然后你需要以这种方式连接到子mmc.exe 进程。

    app = Application(backend='win32').connect(path='mmc.exe')
    # or using backend="uia" whatever is better
    

    因为启动器进程cmd.exe 立即退出。 pywinauto 无法自动检测和处理生成的子进程,但我们有这样的功能请求。

    【讨论】:

    • 非常感谢先生,现在我可以启动到 printmanagement.msc 了。但是现在得到这个错误,pywinauto.application.ProcessNotFoundError: Process "mmc.exe" not found!。如何解决这个问题?
    • 更多信息:当使用 app = Application(backend='win32').connect(path='mmc.exe') 连接到子进程时,出现错误-pywinauto.application.ProcessNotFoundError: Process " mmc.exe" 未找到!
    • 这是因为 mmc.exe 执行自提升。所以以管理员身份运行 Python 是必须的。顺便一提。如果答案正确并且解决了您的问题,请将其标记为已接受(单击答案左侧的灰色复选框)。它为其他人节省了时间(而不是阅读已解决的问题)并激励所有人寻求未来的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-17
    • 1970-01-01
    • 2020-09-27
    • 1970-01-01
    • 2022-08-14
    • 2015-06-22
    相关资源
    最近更新 更多