**本文先用RPA方法打开app,然后通过弹框来决定程序是否运行,缺陷是只能在特定位置暂停脚本,无法实现全局暂停。**
import time
import win32api
import win32con
import win32gui
from pywinauto.application import Application
def test_app():
#自动打开app
app = Application(backend='uia').start(r"E:\\Notepad++\\notepad++.exe")
dlg_spec = app[r'new 1 - Notepad++ [Administrator]']
dlg_spec.type_keys(r'停下来 ',with_spaces = True)
time.sleep(2)
##弹出选择框
handle = win32gui.FindWindow('Notepad++', '*new 1 - Notepad++ [Administrator]')
DATA=win32api.MessageBox(handle, "是否继续操作", "检测", win32con.MB_YESNO|win32con. MB_ICONQUESTION)
#选择框点‘是’返回6,点‘否’返回7,通过返回值不同判断程序是否运行下去
if(DATA==7):
time.sleep(5)
#退出脚本
exit()
dlg_spec.type_keys(r'停下来 ',with_spaces = True)
time.sleep(2)
if __name__ == '__main__':
test_app()
handle = win32gui.FindWindow('Notepad++', '*new 1 - Notepad++ [Administrator]')
这里是添加弹窗的父柄,没有这行代码弹窗无法置顶
win32api.MessageBox(handle, "是否继续操作", "检测", win32con.MB_YESNO|win32con. MB_ICONQUESTION)
下面这篇博文有细讲这句代码的含义