2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 【重要】HTML页面中使用VBS和JS脚本直接运行Windows可执行程序

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

时间:2023-02-20 02:57:49

相关推荐

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

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

<html><head> <title>测试页面</title></head><body> <a href="HelloWorldProgram.exe">打开文件</a></body></html>

但是,我想要找一个办法,在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 { /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() { MessageBox.Show("Hello World!"); //Application.EnableVisualStyles(); //Application.SetCompatibleTextRenderingDefault(false); //Application.Run(new Form1()); } }}

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

二、制作html文件

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

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

<html><head> <title>测试页面</title> <script type="text/vbscript"> "给出文件确定它所在的目录地址 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 </script> <script type="text/javascript"> //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); } </script></head><body> <p>运行程序 HelloWorldProgram.exe</p> <table> <tr> <td>Javascript</td> <td> <input type="button" value="点击运行" onclick= "javascript: ExecProgram(window.location.href, "HelloWorldProgram.exe")"> </td> </tr> <tr> <td>VBScript</td> <td> <input type="button" value="点击运行" onclick= "vbscript: ExecProgram window.location.href, "HelloWorldProgram.exe" "> </td> </tr> </table></body></html>

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

三、IE测试

我的IE版本:8.0.7601.17514

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

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

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

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

4)程序运行结果

四、Firefox测试

我的Firefox版本:36.0.4

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

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

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

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

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

五、Chrome测试

我的Chrome版本:41.0.2272.101 m

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

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

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

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

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

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

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

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

六、得出结论

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

END

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。