用vbscript实现在消息框中显示一个超链接_vbs

问:
嗨,Scripting Guy!可以在消息框中包含指向某个 Web 页面的超链接吗?
-- CB
答:
嗨,CB。听起来您好像想要向用户显示一个消息框,并且希望在消息框中包含一个超链接,以便用户可以点击这个链接,从而获得更多信息。例如,假设某个用户试图访问一些资源,但被拒绝了。这种情况下,您可以弹出一个消息框,告诉用户访问被拒绝,然后向他们提供一个链接,这个链接指向的页面会告诉用户访问所需的权限。一般说来,这种办法会比简单地说“访问被拒绝”好得多。
那么,是否可以用脚本编写语言实现这个目的呢?好吧,据我们所知,目前还不能。消息框中含有超链接当然会很酷,但使用脚本编写语言则仅限于简单的消息框。
不过,先等等,别忙着离开!您并没有问我们:“是否存在某种变通办法可以实现相同目的,但不必在消息框中嵌入超链接?”如果您这么问,我们就会告诉您:“总会有变通办法的。”您所寻求的就是从消息框中实现对 Web 页面的一键式访问。一个方法就是在消息框中嵌入超链接,但不幸的是,我们上面说过,使用 VBScript 无法实现上述目的。因此,我们试着使用其他办法看看:为什么不弹出一个消息框,询问用户:“您是否想要申请访问此资源?”呢?如果用户点击否,那么脚本就会中止。如果用户点击是,脚本就会自动将用户带到合适的 Web 页面。一个消息框,一键式访问网站。它和使用超链接并不十分相同,但结果却是一样的。
如您所见,这只需要以下几行代码就可以实现:

复制代码 代码如下:

Set objShell = CreateObject("Wscript.Shell") 
intMessage = Msgbox("Would you like to apply for access to this resource?", _ 
    vbYesNo, "Access Denied") 
If intMessage = vbYes Then 
    objShell.Run("http://www.microsoft.com") 
Else 
    Wscript.Quit 
End If 

我们首先创建一个 WSH Shell 对象实例;我们需要创建这个实例,以便弹出 Web 浏览器和链接到网站。然后,我们显示消息框(标题为访问被拒绝),并询问用户:“您是否想要申请访问此资源?”这个消息框具有一个是按钮和一个否按钮,这就是 VBScript 常量 vbYesNo 的用途。
注意:有些人可能在想:“等等,我想您应该在 VBScript 中明确定义这些常量。”在大多数情况下,这是正确的。如果我们处理的是 FileSystemObject(打个比方),那么我们就需要使用类似如下代码定义常量:
Const ForReading = 1
但是,VBScript 有一些内部常量。vbYesNo 恰好就是其中之一。它用于在消息框中显示“是”按钮或“否”按钮。vbCrLf 则是另一个内部常量,它的作用是在字符串末尾添加回车换行。这些内部常量——它们是 VBScript 语言的一部分——不必定义;在您输入 vbYesNo 时,VBScript 会知道您的意思。
我们刚才说到哪了?哦,对了,我们弹出一个消息框,并向用户提供是按钮和否按钮。如果用户点击是,我们就将他们带到指定的网站。那么,如何知道用户点击的是否为是呢?很简单:当我们创建消息框时,我们就将用户响应存储在变量 intMessage 中。因此,若要判断用户点了哪个按钮,我们只要检查 intMessage 的值就可以了。如果这个值等于 vbYesNo(另一个内部常量,等于 6),那么用户点击的便为是,于是我们就使用 Shell 对象的 Run 方法打开网站 http://www.microsoft.com。(注意,我们需要做的就是指定 URL;然后操作系统就会使用默认浏览器导航到该站点。)
那如果用户点击的为否呢?这种情况下,我们就会退出 (Wscript.Quit)。
恰如我们所说的,这个方法和我们想象中的不完全一样,但它可以实现这个目的。
顺便说一下,如果您想了解有关 VBScript 的 Msgbox 函数以及配置这个函数的不同方式的更多信息,请访问MSDN 上的 “VBScript 语言参考”。
那如果您需要制作精美一点的消息框呢?这种情况下,您可以自己动手制作一个 HTML 页面,然后使用这个页面模拟真实的 Windows 消息框。不过这个问题我们将在其他时间讨论。

时间: 2024-09-20 15:43:10

用vbscript实现在消息框中显示一个超链接_vbs的相关文章

捕捉消息框中的文字

把桌面上弹出的消息框中的文字取出来 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Reflection; using System.Xml; using System.Runtime.Int

俺的小作品:根据下拉列表动态在列表框中显示,并实现2个列表框互斥选择

具体功能用一下就知道了,在下拉框中选择一个,左边的列表框就显示相应的值,点那4个按钮能够实现左右2个列表框选项互相排斥,很好玩的..估计大家开发的时候经常要用到,所以就帖上来了.代码如下:<style> td,select,input{font-size:9pt} </style><script>var subcat = new Array();                    //    下拉列表数组定义    subcat[0] = new Array(&qu

js-JS从单选框中选择一个值后,点击提交后显示出该值!请问我的代码怎么修改啊啊?

问题描述 JS从单选框中选择一个值后,点击提交后显示出该值!请问我的代码怎么修改啊啊? <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script type="text/javascript" language="javascript

不知道怎么在列表框中显示树形控件节点的信息(包括书名,作者.....)?

问题描述 不知道怎么在列表框中显示树形控件节点的信息(包括书名,作者.....)? 解决方案 用CTreeCtrl控件,你拿到TVN_SELCHANGED对应的信息后,就可以显示了.可以参考下面例子 void CMFC_TreeCRTLDlg::OnSelchangedTree1(NMHDR* pNMHDR, LRESULT* pResult) { NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR; // TODO: Add your control

一个文本框,当输入一些字符后,通过ajax+jquery会从后台查到一些数据,当数据返回到页面上时,需要将文本框变成下拉框,下拉框中显示返回的数据,该怎么实现

问题描述 一个文本框,当输入一些字符后,通过ajax+jquery会从后台查到一些数据,当数据返回到页面上时,需要将文本框变成下拉框,下拉框中显示返回的数据,现在能得到数据,就是不知道怎么将原来的文本框变成下拉框 解决方案 解决方案二:做两个控件,根据情况隐藏一个,表示一个.document.getElementById("xxx").style.display="";//表示document.getElementById("xxx").styl

asp.net-gridview中点击编辑,跳出bootstrap模态框中显示数据

问题描述 gridview中点击编辑,跳出bootstrap模态框中显示数据 我想要用ASP.NET中的gridview控件,点击编辑可以弹出bootstrap模态框显示数据,模态框已经设置好,就是没有数据.怎么传id啊,谢谢

环信推送过来的消息,在消息栏中显示的是环信id,这个是...

问题描述 **环信推送过来的消息,在消息栏中显示的是环信id,这个是否有解决方法?** 解决方案 ios和android都有个设置当前用户昵称的接口,调用后,显示的就不是字符串了http://easemob.com/docs/android/setnickname/

ajax-请问一下我想在一个select框选定表名,在下一个select框中显示这个表名的字段如何实现

问题描述 请问一下我想在一个select框选定表名,在下一个select框中显示这个表名的字段如何实现 <%@page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@page import="java.sql.*"%> <html> <head> <title>图书管理系统</tit

在你的MFC应用程序中显示一个JPG文件

在VB中,我可以通过创建一个图像控件来显示一个JPG或GIF文件,但是我如何在我的MFC应用程序中显示一个JGP文件呢? 好问题!有时使用VB的程序员觉得这个很容易.只要往你的表中拖入一个图像控件,然后你就可以往下做了--然而C++程序员就不得不感到烦恼和头疼.那我们要做些什么呢,编写我们自己的JPG解压函数吗? 当然不是这样的!事实上,C/C++程序员能够使用与VB程序员所使用的非常类似(可以说是差不多)的图像控件.我并没有开玩笑.VB图像控件是基于一个叫"IPicture"的系统C