标题: [问题求助] 求助VBS弹窗Msgbox和popup显示问题。 [打印本页]
作者: licunwei 时间: 2024-2-9 22:26 标题: 求助VBS弹窗Msgbox和popup显示问题。
求助 怎么设置超时30秒未检测到动作,自动执行否按钮,老师些,帮忙解决下,要用键盘鼠标都能操作。
方法一 不能超时执行- Set objShell = CreateObject("WScript.Shell")
- Do
- intResult = MsgBox("确定是否执行本次升级?" ,vbYesNo+vbQuestion+vbDefaultButton2, "确认")
-
- If intResult = vbYes Then
- '执行命令的代码
- objShell.Run "C:\Windows\System32\cs-SC\一键升级.bat", 1, True
- Exit Do
- Else
- '取消执行命令的代码,1分钟延迟
- WScript. sleep(60 * 1000)
- End If
- Loop
复制代码
方法二 只能鼠标执行- Set objShell = CreateObject("WScript.Shell")
- Do
- intAnswer = objShell.Popup("确定是否执行本次升级?", 30 , "确定", vbYesNo + vbQuestion+vbDefaultButton2 +4096)
-
- If intAnswer = vbYes Then
- '执行命令的代码
- objShell.Run "C:\Windows\System32\cs-SC\一键升级.bat", 1, True
- Exit Do
- Else
- '取消执行命令的代码,60秒延迟
- WScript. sleep(60 * 1000)
- End If
- Loop
复制代码
作者: czjt1234 时间: 2024-2-10 07:12
测试方法二可以键盘执行的
按 Y 或 N 键
作者: licunwei 时间: 2024-2-10 09:15
回复 2# czjt1234
前端没运行其他程序的情况下是可以的,运行了其他程序不用鼠标去点击下就不能用键盘操作。
作者: czjt1234 时间: 2024-2-10 22:21
本帖最后由 czjt1234 于 2024-2-10 22:55 编辑
没有焦点怎么能键盘操作呢,换第三方程序也不行啊
能不能 alt + tab 切换vbs对话框到前台
还有你的逻辑没看懂,如果按否后是延时,然后循环再次询问,那么为什么不一直询问呢
如果不用循环反复问,可以这样- WScript.Timeout = 30 '超时的时间,单位:秒
- Set oWshShell = CreateObject("WScript.Shell")
- i = vbYesNo + vbQuestion + vbDefaultButton2 + vbSystemModal
- If MsgBox("确定是否执行本次升级?", i, "确认") = vbYes Then
- oWshShell.Run "C:\Windows\System32\cs-SC\一键升级.bat", 1
- End If
复制代码
作者: czjt1234 时间: 2024-2-10 22:58
如果要循环反复问的话,代码就比较啰嗦了
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |