vbs 执行网页中的java_【重要】HTML页面中使用VBS和JS脚本直接运行Windows可执行程序...

在html中使用标签可以将可执行文件下载到本地,如下面这段代码是一个html页面代码,在页面中有一个链接,点击该链接可以下载路径为“HelloWorldProgram.exe”的程序到指定位置,然后在指定位置打开:

测试页面

打开文件

但是,我想要找一个办法,在html中直接打开一个exe文件,查了一些资料,经过几次实验后,终于成功了!下面是我的方法:

一、做一个exe文件

我用C#写了一个exe文件,这是一个Windows窗体应用程序,该程序的功能为打开后弹出一个上面写有“Hello World!”的MessageBox。

这个程序的制作方法为:

1)文件菜单→新建→项目,选择“Windows窗体应用程序”,起名为“HelloWorldProgram”

2)进入到Program.cs中,在Main函数里,删除或注释掉原来的代码,并添加:MessageBox.Show("Hello World!");

using System;

using System.Collections.Generic;

using System.Linq;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace HelloWorldProgram

{

static class Program

{

///

/// 应用程序的主入口点。

///

[STAThread]

static void Main()

{

MessageBox.Show("Hello World!");

//Application.EnableVisualStyles();

//Application.SetCompatibleTextRenderingDefault(false);

//Application.Run(new Form1());

}

}

}

3)编译并运行该程序,HelloWorldProgram.exe

174991450_1_201911060420154.png

二、制作html文件

将上面编译好的exe文件,放到目录“D:\HtmlTest”中,并在这个目录里添加一个文件“index.html”

在index.html中,我分别使用了vbscript和javascript两种语言,实现了两个按钮,这两个按钮的功能都是打开与index.html在同一目录下的可执行文件HelloWorldProgram.exe

测试页面

'给出文件确定它所在的目录地址

Function GetFolder(FilePath)

Temp = StrReverse(FilePath)

Temp = Mid(Temp, InStr(1, Temp, "/"))

GetFolder = StrReverse(Temp)

End Function

'IndexPath为index.html地址

'FilePath为要打开的应用程序距index.html所在目录的相对地址

'本函数最终目标为运行可执行程序FilePath

Function ExecProgram(IndexPath, FilePath)

CreateObject("WScript.Shell").Run GetFolder(IndexPath) & FilePath

End Function

//IndexPath为index.html地址

//FilePath为要打开的应用程序距index.html所在目录的相对地址

//本函数最终目标为运行可执行程序FilePath

function ExecProgram(IndexPath, FilePath)

{

var FolderPath = IndexPath.substr(0, IndexPath.lastIndexOf('/') + 1);

var Shell = new ActiveXObject('WScript.Shell');

if(Shell)

Shell.Run(FolderPath + FilePath);

}

运行程序 HelloWorldProgram.exe

Javascript

"javascript: ExecProgram(window.location.href, 'HelloWorldProgram.exe')">

VBScript

"vbscript: ExecProgram window.location.href, 'HelloWorldProgram.exe' ">

下面,我使用IE、Firefox和Chrome三种浏览器检验了这个方法的可用性。

三、IE测试

我的IE版本:8.0.7601.17514

IE运行可执行文件是三个浏览器中最简单的!步骤如下:

1)用Internet Explorer打开index.html,需要先允许运行ActiveX控件,点击“允许组织的内容”

174991450_2_20191106042015379.png

2)这时会弹出安全警告,点击“是”

174991450_3_20191106042015597.png

3)点击按钮运行脚本时,还会弹出下面这个窗口,点击“是”运行程序

174991450_4_20191106042015754.png

4)程序运行结果

174991450_5_2019110604201651.png

四、Firefox测试

我的Firefox版本:36.0.4

如果直接用Firefox打开上面的index.html,会发现点击按钮后浏览器根本没有反应。原因就是Firefox要安装一个插件“IE Tab”才能实现上面的功能,方法如下:

1)找到右侧菜单中的“附加组件”

174991450_6_20191106042016254.png

2)搜索并安装插件:IE Tab2 (FF 3.6+) 5.12.12.1,安装完毕后重启Firefox

174991450_7_20191106042016519.png

3)设置该插件的网址过滤规则,在安装的插件列表中找到插件“IE Tab”,并点击“选项”链接进入到该插件的设置界面。将我们上面的页面index.html地址,添加到使用IE Tab浏览的页面中

174991450_8_20191106042016691.png

4)现在再用Firefox打开index.html,按下按钮就会有效果了。如果遇到安全警告,和上面IE的例子一样,点击“是”。

174991450_9_20191106042016941.png

五、Chrome测试

我的Chrome版本:41.0.2272.101 m

Chrome也需要安装IE Tab才能可以实现点击按钮后运行EXE文件,实现方式如下:

1)在地址栏中输入“chrome://extensions/”,进入扩展程序管理界面

2)将从网上下载的“IE Tab”插件安装包(版本:7.7.24.1,crx文件)拖入该界面

3)Chrome会询问是否要新增扩展程序,点击“添加”按钮

174991450_10_20191106042017144.png

4)安装完毕后,点击该插件下的“选项”

174991450_11_20191106042017332.png

5)在“Auto URLs”栏目下,将要上面的index.html地址键入

174991450_12_20191106042017613.png

6)用Chrome打开index.html,这个时候会下载“ietabhelper”,下载下来安装后,就可以用Chrome打开index.html,并通过点击按钮执行上面的可执行文件了

7)按下按钮,遇到安全警告,点击“是”即可,可以看到“Hello World!”程序已经成功运行!

174991450_13_20191106042017863.png

六、得出结论

使用Html页面直接,通过调用VBScript或JavaScript可以直接运行可执行程序。在IE中,经过手动对警告信息进行确认后就可以运行了,在Firefox和Chrome中,还需要安装“IE Tab”插件后才可以运行。

END

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值