python 窗体停靠自动隐藏_Python – 在窗口最小化或隐藏时使用pywinauto控制窗口

问题出在这里:

Wizard['Create Shortcut on Desktop'].Wait('enabled').CheckByClick()

CheckByClick()使用ClickInput()方法移动真正的鼠标光标并执行逼真的单击.

请改用Check()方法.

[编辑]如果安装程序没有正确处理BM_SETCHECK,则解决方法可能如下所示:

checkbox = Wizard['Create Shortcut on Desktop'].Wait('enabled')

if checkbox.GetCheckState() != pywinauto.win32defines.BST_CHECKED:

checkbox.Click()

我将通过分别创建方法CheckByClick和CheckByClickInput在下一个pywinauto版本中修复它.

[编辑2]

我用我的修复程序尝试了你的脚本,它可以完美地(并且非常快)有鼠标移动和不移动. Win7 x64,32位Python 2.7,pywinauto 0.5.3,以管理员身份运行.

import sys, os, pywinauto

app = pywinauto.Application().Start(r'npp.6.8.3.Installer.exe')

Wizard = app['Installer Language']

Wizard.Minimize()

Wizard.NextButton.Click()

Wizard = app['Notepad++ v6.8.3 Setup']

Wizard.Wait('visible')

Wizard.Minimize()

Wizard['Welcome to the Notepad++ v6.8.3 Setup'].Wait('ready')

Wizard.NextButton.Click()

Wizard.Minimize()

Wizard['License Agreement'].Wait('ready')

Wizard['I &Agree'].Click()

Wizard.Minimize()

Wizard['Choose Install Location'].Wait('ready')

Wizard.Button2.Click()

Wizard.Minimize()

Wizard['Choose Components'].Wait('ready')

Wizard.Button2.Click()

Wizard.Minimize()

checkbox = Wizard['Create Shortcut on Desktop'].Wait('enabled')

if checkbox.GetCheckState() != pywinauto.win32defines.BST_CHECKED:

checkbox.Click()

Wizard.Install.Click()

Wizard['Completing the Notepad++ v6.8.3 Setup'].Wait('ready', timeout=30)

Wizard.Minimize()

Wizard['CheckBox'].Wait('enabled').Click()

Wizard.Finish.Click()

Wizard.WaitNot('visible')

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值