用vbs 实现从剪贴板中抓取一个 URL 然后在浏览器中打开该 Web 站点

问:
嗨,Scripting Guy!我如何从剪贴板中抓取一个 URL 然后在浏览器中打开该 Web 站点?

-- CL

答:
您好,CL。这是很有趣的问题,或者我们应当说,这是两个很有趣的问题。因为您实际上问了两个问题。第一个问题很简单:我可以使用脚本打开特定的 Web 站点吗?您大概已经知道答案了,我可以大声地回答您,可以!下面是一个示例脚本,它将“脚本中心”的 URL 存储在一个名为 strURL 的变量中。然后,此脚本会创建 WSH Shell 对象的一个实例,并使用 Run 方法来打开默认的 Web 浏览器并导航到指定的 URL:

代码如下:

strURL = “http://www.microsoft.com/technet/scriptcenter/default.mspx” 
Set objShell = CreateObject("Wscript.Shell") 
objShell.Run(strURL)

第二个问题有点棘手:我可以使用脚本从剪贴板中抓取信息吗?这个问题的答案也是“可以”,尽管您必须通过后门程序到达剪贴板。

WSH 和 VBScript 都不能与剪贴板进行交互:它们都不允许您将数据复制到剪贴板或从剪贴板粘贴数据。另一方面,Internet Explorer 却可以和剪贴板进行交互。(瞧,Internet Explorer 真是无所不能啊!)所以,就让 IE 来为我们做这项工作吧。如果您想从剪贴板抓取数据,您可以使用与以下代码类似的代码:

Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate("about:blank")
strURL = objIE.document.parentwindow.clipboardData.GetData("text")
objIE.Quit
Wscript.Echo strURL

这里,我们所做的事情就是:创建 Internet Explorer 的一个实例,并在一个空白页中将其打开。请注意,您实际上并不能看到此 IE 实例,因为我们并没有将 Visible 属性设置为 TRUE。所有的事情都是在后台发生的。

然后,我们使用 clipboardData.GetData 方法来获取放置在剪贴板上的文本并将其存储在变量 strURL 中;这也就是下面这行代码所做的工作:

strURL = objIE.document.parentwindow.clipboardData.GetData("text")

我们关闭此 IE 实例 (objIE.Quit),然后回显我们从剪贴板检索出来的值。

请做以下尝试:将一些文本复制到剪贴板,然后运行该脚本。您应当会得到一个消息框,其中包含您刚才复制到剪贴板的文本。

现在就剩下一件事情要做:将这两半段脚本合在一起构成一个完整的脚本。下面这个脚本就可以从剪贴板中抓取一个 URL 然后在默认的 Web 浏览器中打开该 Web 站点:

Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate("about:blank")
strURL = objIE.document.parentwindow.clipboardData.GetData("text")
objIE.Quit

Set objShell = CreateObject("Wscript.Shell")
objShell.Run(strURL)

这个脚本还不赖吧。它还有一个优点 — 它并不是只能用来打开 Web 站点。假定您的剪贴板上有一个文件路径,例如“C:\Scripts\ScriptLog.txt”。运行此脚本,则该文件将在记事本(或任何您设置为与 .txt 文件相关联的应用程序)中打开。如果您的剪贴板上有一个 .doc 文件的路径,则此脚本将在 Microsoft Word 中打开该文档。它实际上是一个通用的文件打开脚本,而不仅仅是一个只能用于 Web 站点的打开脚本。

(0)

相关推荐

  • [js]javascript与剪贴板交互

    1.怎样操作剪贴板,从而实现复制.剪切与粘贴?同时判断剪贴板里边的数据是否是文本? if (!IsClipboardFormatAvailable(CF_TEXT))  return;  if (!OpenClipboard(hwndMain))  return; hglb = GetClipboardData(CF_TEXT);  if (hglb != NULL)  {  lptstr = GlobalLock(hglb);  if (lptstr != NULL)  {  // Call 

  • ASP.NET jQuery 实例4(复制TextBox的文本到本地剪贴板上)

    在这节,我们将看到如何把多行文本框的内容复制到剪贴板上. 注意:jQuery clipboard plugin 只支持IE 界面代码: 复制代码 代码如下: <form id="form1" runat="server"> <div align="center"> <fieldset style="width: 400px; height: 300px;"> <p>请输入你的评论

  • 一段多浏览器的"复制到剪贴板"javascript代码

    代码如下,就不多说废话了,可以兼容基本上所有的主流浏览器(IE,FF),很多地方可以用到的: copyToClipboard = function(txt) { if(window.clipboardData) {    window.clipboardData.clearData();    window.clipboardData.setData("Text", txt); } else if(navigator.userAgent.indexOf("Opera"

  • VBScript 剪贴板抓取URL并在浏览器中打开

    您好,CL.这是很有趣的问题,或者我们应当说,这是两个很有趣的问题.因为您实际上问了两个问题.第一个问题很简单:我可以使用脚本打开特定的 Web 站点吗?您大概已经知道答案了,我可以大声地回答您,可以!下面是一个示例脚本,它将"脚本中心"的 URL 存储在一个名为 strURL 的变量中.然后,此脚本会创建 WSH Shell 对象的一个实例,并使用 Run 方法来打开默认的 Web 浏览器并导航到指定的 URL: strURL = "http://www.microsoft

  • vb.net借助剪贴板将图片导入excel内

    复制代码 代码如下: Dim im as Image=Image.FromFile ("C:/picture.bmp")   '获得Image System.Windows.Forms.Clipboard.SetDataObject(im, True)  '复制到剪贴板 Dim xlApp As Excel.Application = New Excel.Application()        Dim xlBook As Excel.Workbook Dim xlSheet As E

  • JS/FLASH实现复制代码到剪贴板(兼容所有浏览器)

    目前,如果使用javascript来写复制到剪贴板的代码,一般都是浏览器不兼容的.所以采用flash的方式,模拟一个层,再来复制,就可以做到全部浏览器都适用哦~ 需要下载一个swf文件,和一个js文件.把这两个文件,和htm放到一起. 图示: 必须放在服务器端使用哦. 图示: JS代码: 复制代码 代码如下: ZeroClipboard.js // Simple Set Clipboard System // Author: Joseph Huckaby var ZeroClipboard =

  • JS复制到剪贴板示例代码

    复制代码 代码如下: /* * 复制到剪贴板 * * */ function copyToClipboard(txt) { if(window.clipboardData) { window.clipboardData.clearData(); window.clipboardData.setData("Text", txt); } else if(navigator.userAgent.indexOf("Opera") != -1) { window.locati

  • 用vbscript实现将脚本的输出复制到剪贴板

    问: 嗨,Scripting Guy!有办法将脚本输出复制到剪贴板吗? -- ZW, Marseilles, France 答: 您好,ZW.如果您不介意用一些疯狂的解决方法,那么实际上将脚本输出复制到剪贴板相当容易.首先,您需要构造一个字符串,其中包含想要的输出.然后,创建 Internet Explorer 的一个实例,然后在其中打开一个空白页.接着,利用 Internet Explorer 对象模型的内置功能,将字符串复制到剪贴板:特别是, 可以使用 clipboardData.SetDa

  • VBS访问剪贴板的几种方法小结

    复制代码 代码如下: Set IE = CreateObject("InternetExplorer.Application") IE.Navigate("about:blank") Set clipboard = IE.document.parentWindow.clipboardData 'SetData设置剪切板的内容 clipboard.SetData "text", "忘记了,喜欢一个人的感觉" 'GetData获取

  • 用vbs 实现从剪贴板中抓取一个 URL 然后在浏览器中打开该 Web 站点

    问: 嗨,Scripting Guy!我如何从剪贴板中抓取一个 URL 然后在浏览器中打开该 Web 站点? -- CL 答: 您好,CL.这是很有趣的问题,或者我们应当说,这是两个很有趣的问题.因为您实际上问了两个问题.第一个问题很简单:我可以使用脚本打开特定的 Web 站点吗?您大概已经知道答案了,我可以大声地回答您,可以!下面是一个示例脚本,它将"脚本中心"的 URL 存储在一个名为 strURL 的变量中.然后,此脚本会创建 WSH Shell 对象的一个实例,并使用 Run 

  • Java中抓取 Thread Dumps 的方式汇总

    Thread dumps(线程转储)能帮助我们判断 CPU 峰值.死锁.内存异常.应用反应迟钝.响应时间变长和其他系统问题.一些在线的分析工具比如 http://fastthread.io/ 也能帮助我们分析和定位问题,但是这些工具都要求有一个 dump 文件.因此在这篇文章当中,我总结了7中抓取 Java Thread Dumps 文件的方式. 1. jstack jstack 是一个抓取 thread dump 文件的有效的命令行工具,它位于 JDK 目录里的 bin 文件夹下(JDK_HO

  • php中抓取网页内容的实例详解

    php中抓取网页内容的实例详解 方法一: 使用file_get_contents方法实现 $url = "http://news.sina.com.cn/c/nd/2016-10-23/doc-ifxwztru6951143.shtml"; $html = file_get_contents($url); //如果出现中文乱码使用下面代码 //$getcontent = iconv("gb2312", "utf-8",$html); echo &

  • Java爬虫实战抓取一个网站上的全部链接

    前言:写这篇文章之前,主要是我看了几篇类似的爬虫写法,有的是用的队列来写,感觉不是很直观,还有的只有一个请求然后进行页面解析,根本就没有自动爬起来这也叫爬虫?因此我结合自己的思路写了一下简单的爬虫. 一 算法简介 程序在思路上采用了广度优先算法,对未遍历过的链接逐次发起GET请求,然后对返回来的页面用正则表达式进行解析,取出其中未被发现的新链接,加入集合中,待下一次循环时遍历. 具体实现上使用了Map<String, Boolean>,键值对分别是链接和是否被遍历标志.程序中使用了两个Map集

  • go语言实现一个简单的http客户端抓取远程url的方法

    本文实例讲述了go语言实现一个简单的http客户端抓取远程url的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import (  "fmt"  "log"  "net/http"  "net/url"  "io/ioutil" ) func main() { resp, err := http.Get("http://www.google.co.

  • php使用curl简单抓取远程url的方法

    本文实例讲述了php使用curl抓取远程url的方法.分享给大家供大家参考.具体如下: cURL是一个非常有用的php库,可以用来连接不通类型的服务器和协议,下面是一个最基本的范例用来抓取远程网页 <?php $c = curl_init('http://www.w3mentor.com/robots.txt'); curl_setopt($c, CURLOPT_RETURNTRANSFER, true); $page = curl_exec($c); curl_close($c); ?> 希

  • 浅析jQuery中调用ajax方法时在不同浏览器中遇到的问题

    今天用firefox调试一个用jquery里面的封装的方法与后台交互的时候,firefox死活不弹窗. 而之前用谷歌浏览器顺利通过.之后发现各自浏览器对浏览器默认值的处理是不一样的.总结: 如果返回的是json,应该带上该参数,返回的是text也一样. $.post(url,param,function(data),param);//最后一个参数param对应返回信息的类型,一般要带上,避免 因不同浏览器默认设置的不同造成的问题.

  • python爬虫开发之使用Python爬虫库requests多线程抓取猫眼电影TOP100实例

    使用Python爬虫库requests多线程抓取猫眼电影TOP100思路: 查看网页源代码 抓取单页内容 正则表达式提取信息 猫眼TOP100所有信息写入文件 多线程抓取 运行平台:windows Python版本:Python 3.7. IDE:Sublime Text 浏览器:Chrome浏览器 1.查看猫眼电影TOP100网页原代码 按F12查看网页源代码发现每一个电影的信息都在"<dd></dd>"标签之中. 点开之后,信息如下: 2.抓取单页内容 在浏

  • 利用PHP抓取百度阅读的方法示例

    前言 这篇文章主要介绍的是,如何利用PHP抓取百度阅读的方法,下面话不多说,来一起看看吧. 抓取方法如下 首先在浏览器里打开阅读页面,查看源代码后发现小说的内容并不是直接写在页面里的,也就是说小说的内容是通过异步加载而来的. 于是将chrome的开发者工具切到network一栏,刷新阅读页面,主要关注的是XHR和script两个分类下. 经过排查,发现在script分类下有个jsonp请求比较像是小说内容,请求的地址是 http://wenku.baidu.com/content/49422a3

随机推荐