[已解决]vbs如何实现:点击弹出框/提示框上的指定按钮?
vbs循环监控特定标题的窗口,如果弹出来窗口,就点击窗口上的指定按钮
——————————————————————————————————
更新下:
经过反复测试:
1、某个exe软件运行的时候,有时候会弹出某个特定标题的窗口。
默认是取消框。如果先按1次键盘的左箭头/TAB按键,再按1次键盘的回车/空格键,
都可以达到预期效果(都可以选中确定按钮,然后让窗口关闭)。
2、vbs代码,无论如何修改,都不能实现选中确定按钮、并点击确定让窗口关闭。
每次都只能点击到“取消”按钮。
多谢Nsqs的帮忙。
sendkeys的方法是模拟键盘,如果窗口内的按钮不支持快捷键,sendkeys就不能用了
扩展第三方程序,可以调用里面的方法向系统直接发送消息,
按下窗口里面的按钮。用sendmessage是向系统发送系统指令
系统接收什么就执行什么 非模拟键盘操作。。 | Const strWindowTitle = "窗口标题" | | | | Do | | Main | | WScript.Sleep 2000 | | Loop | | | | Sub Main() | | | | Dim wso, fso | | Set wso = CreateObject("Wscript.Shell") | | Set fso=CreateObject("Scripting.FileSystemObject") | | | | | | Do While wso.AppActivate(strWindowTitle) = False | | WScript.sleep 1000 | | | | Loop | | | | | | Call WindowActive(strWindowTitle) | | WScript.sleep 1000 | | | | | | wso.SendKeys "{left}" | | | | WScript.sleep 1000 | | | | wso.sendkeys "{enter}" | | | | Set wso = NoThing | | | | End Sub | | | | | | | | | | Sub WindowActive(ByVal strWindowTitle) | | Dim objWord, objTasks | | Set objWord = CreateObject("word.Application") | | Set objTasks = objWord.Tasks | | If objTasks.Exists(strWindowTitle) Then | | objTasks(strWindowTitle).Activate | | objTasks(strWindowTitle).WindowState = 0 | | End If | | objWord.Quit | | End SubCOPY |
|