Vbs Popup CreateObject("Wscript.Shell").Popup 怎么只能在开头用吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vbs Popup CreateObject("Wscript.Shell").Popup 怎么只能在开头用吗?相关的知识,希望对你有一定的参考价值。

CreateObject("Wscript.Shell").Popup "请等待5秒钟,5秒后该窗口自动关闭", 5, "定时自动关闭提示框"

就会有5秒后该窗口自动关闭的效果,但是这只是代码的第一行。如果说Popup不是第一行了,前面还有语句,就不灵了。

MsgBox("abc")
CreateObject("Wscript.Shell").Popup "请等待5秒钟,5秒后该窗口自动关闭", 5, "定时自动关闭提示框"

这样的话,效果只会先弹出一个abc,点了确定,就只会有一个 "请等待5秒钟,5秒后该窗口自动关闭"的对话框,5秒之后还没有反应。
为什么?怎么解决?

可以啊,你在啥环境下运行的?

msgbox "abc"

Set WshShell = CreateObject("Wscript.Shell")

WshShell.Popup "请等待5秒钟,5秒后该窗口自动关闭", 5, "定时自动关闭提示框"

msgbox "Hello"

这段脚本在Win7环境上运行正常。

追问

我的Win7系统上,运行还是不行啊,达不到5秒关闭的效果。

追答

呃,那就只能加数值来达到效果。至于为啥在Win7上会这样,这个问题回答不了。刚用秒表计数了下,可以啊。不知道了。你加长时间看看。

参考技术A 可以这样:
createobject("wscript.shell").popup "内容",5,"标题" ,')
5是秒数
,'之间可以加一些特效(诸如三角叹号(16),红圆错号(64)这些
参考技术B 在哪儿用都成。将以下代码复制并粘贴到记事本,保存为”定时弹窗.vbs“,双击就可以见到效果。

    a1="请等待7秒钟问,7秒后该窗口自动关闭答"    '弹窗内容
a2=7        '弹窗延迟时间
a3="定时自动关闭提示框版"       '弹窗标题
a4=vbYesNo  + vbDefaultButton2  '弹出窗口类型,是/否,否为默认
a4=4  + 256                        '弹出窗口类型,是/否,否为默认
'a4取值和VB的Msgbox用法一样,为了方便,贴在这里
'参考下面的名称(如vbYesNo)或值(如4),也就是使用vbYesNo和4是一样的。可以相加

'vbOKOnly 0 只显示【确定】按钮。
'VbOKCancel 1 显示 【确定】 及 【取消】 按钮。
'VbAbortRetryIgnore 2 显示 【终止】、【重试】 及 【忽略】 按钮。
'VbYesNoCancel 3 显示 【是】 、 【否】 及 【取消】 按钮。
'VbYesNo 4 显示 【是】  及  【否】 按钮。
'VbRetryCancel 5 显示 【重试】 及 【取消】 按钮。
'VbCritical 16 显示 Critical Message 红叉图标。
'VbQuestion 32 显示 Warning Query 问号图标。
'VbExclamation 48 显示 Warning Message 叹号图标。
'VbInformation 64 显示 Information Message i图标。
'vbDefaultButton1 0 第一个按钮是缺省值。
'vbDefaultButton2 256 第二个按钮是缺省值。
'vbDefaultButton3 512 第三个按钮是缺省值。
'vbDefaultButton4 768 第四个按钮是缺省值。
'vbApplicationModal 0 应用程序强制返回;应用程序一直被挂起,直到用户对消息框作出响应才继续工作。
'vbSystemModal 4096 系统强制返回;全部应用程序都被挂起,直到用户对消息框作出响应才继续工作。
'vbMsgBoxHelpButton 16384 将【帮助】Help按钮添加到消息框
'VbMsgBoxSetForeground 65536 指定消息框窗口作为前景窗口
'vbMsgBoxRight 524288 文本为右对齐
'vbMsgBoxRtlReading 1048576 指定文本应为在希伯来和阿拉伯语系统中的从右到左显示

a5=CreateObject("Wscript.Shell").Popup (a1, a2, a3, a4)         '弹窗显示
'a5是返回值,也就是判断按下的按钮是啥。如下:

'vbOK 1 【确定】
'vbCancel 2 【取消】
'vbAbort 3 【终止】
'vbRetry 4 【重试】
'vbIgnore 5 【忽略】
'vbYes 6 【是】
'vbNo 7  【否】

vbs脚本实现网盘映射及标签更改

vbs脚本实现网盘映射及标签更改,完全自主研发,绝无仅有,觉得有用的朋友点个攒:

Set WshNetwork = CreateObject("WScript.Network")
set wshshell = wscript.createObject("WScript.shell")
dim mypath
mypath = "xxx.domain.com" //共享文件路径
if WshNetwork.UserName = "aaaa" then
elseif WshNetwork.UserName = "bbbb" then
WshNetwork.MapNetworkDrive "M:", mypath & WshNetwork.UserName
WshNetwork.MapNetworkDrive "O:", mypath & "wl_information_dept"
WshNetwork.MapNetworkDrive "V:", mypath & "video"
WshNetwork.MapNetworkDrive "P:", mypath & "photo"
//当用户名为bbbb时映射四个网盘
elseif WshNetwork.UserName = "cccc" then
else
end if
wscript.sleep 1000

strNewName = "My"
strDriveLetter = "M:"
Set objShell = CreateObject("shell.application")
if isNull(objShell.NameSpace(strDriveLetter)) then
objShell.NameSpace(strDriveLetter).Self.Name = strNewName
end if
strNewName = "DeptPublic"
strDriveLetter = "O:"
Set objShell = CreateObject("shell.application")
if isNull(objShell.NameSpace(strDriveLetter)) then
objShell.NameSpace(strDriveLetter).Self.Name = strNewName
end if
strNewName = "Photo"
strDriveLetter = "P:"
Set objShell = CreateObject("shell.application")
if isNull(objShell.NameSpace(strDriveLetter)) then
objShell.NameSpace(strDriveLetter).Self.Name = strNewName
end if
strNewName = "Video"
strDriveLetter = "V:"
Set objShell = CreateObject("shell.application")
if isNull(objShell.NameSpace(strDriveLetter)) then
objShell.NameSpace(strDriveLetter).Self.Name = strNewName
end if
实现四个网盘的标签更改,有效隐藏网盘的实际路径,保障服务器的安全。

以上是关于Vbs Popup CreateObject("Wscript.Shell").Popup 怎么只能在开头用吗?的主要内容,如果未能解决你的问题,请参考以下文章

关于VBS读取TXT文本问题

请问如何用vbs实现获取屏幕某坐标颜色值!

xpee.vbs

vbs让电脑发音说话

vbs http

怎样让批处理BAT运行时不显示DOS窗口?