Wincc中使用VBS实现弹窗定时自动关闭功能

    长久以来在使用VBS脚本过程中,在弹窗这块只使用过msgbox,根据需求设置格式进行弹窗,或者进行二次确认的功能,都是使用msgbox。最近,有个项目需求,该弹窗在弹出以后超过3秒无任何操作的时候,会自动关闭。这时候再使用msgbox就无法满足要求了,于是想到了popup这个函数。介绍如下:

    其用法与msgbox类似,只是多了一个延时自动关闭的过程。以下表格为其属性介绍:

    以下表格是popup返回值的介绍:

使用公式如下:    

     BT= ws.Popup(strText,[nSecondsToWait],[strTitle],[nType])
     参数
     ws为WshShell 对象。
    strText为要显示在弹出式消息框中的文本的字符串值。
    nSecondsToWait为弹出式消息框最长显示时间(秒)的数值。
    strTitle为包含要作为弹出式消息框的标题显示的文本的字符串值。
    nType为要显示在弹出式消息框中的按钮和图标类型的数值。这些类型确定消息框的使用方法。
    BT表示用户单击以解除消息框的按钮号的整数值。该值由 Popup 方法返回。
    说明
    无论主机可执行文件(WScript.exe 或 CScript.exe)是否运行,Popup 方法都显示一个消息框。如果 nSecondsToWaitis 等于零(默认值),弹出式消息框将保持可见,除非用户关闭它。如果 nSecondsToWaitis 大于零,则弹出式消息框在 nSecondsToWait 秒之后关闭。如果未提供参数 strTitle,则在默认情况下,弹出式消息框的标题为 "Windows Script Host"(Windows 脚本宿主)。nType 的含义与 Microsoft Win32? 应用程序编程接口的 MessageBox 函数的含义相同。下列各表显示这些值及其含义。您可组合这些表中的值。

    于是根据以上内容,在Wincc中新建一个按钮,在按钮左键点击事件中创建了一下脚本:

Dim ws
Set ws = Createobject("wscript.shell")
ws.popup "消息",5,"标题",vbInformation+vbSystemMODAL '5为延时五秒,64用法见下图

    通过测试,当弹窗出现时,点击确认弹窗会立即消失,如果不点击确认,弹窗会在设定的5秒之后自动消失,加入vbSystemMODAL参数的目的是为了让弹窗始终保持在最前。

 

posted on 2025-04-06 18:34  老迈克  阅读(163)  评论(0)    收藏  举报

导航