如何用js从Firefox中调用本地exe文件

如何用js从Firefox中调用本地exe文件,第1张

1. 先注册URL PROTOCOL, 在windows 下就是皮改注册表

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\myprotocol]

@="myprotocol Protocol"

"URL Protocol"=""

[HKEY_CLASSES_ROOT\myprotocol\DefaultIcon]

@="C:\\WINDOWS\\NOTEPAD.EXE"

[HKEY_CLASSES_ROOT\myprotocol\shell]

@=""

[HKEY_CLASSES_ROOT\myprotocol\shell\open]

@=""

[HKEY_CLASSES_ROOT\myprotocol\shell\燃没判open\command]

@="\"C:\\WINDOWS\\NOTEPAD.EXE\" "

保存内容为 reg文件,然后执行,就加入注册表,注册了这个名字为myprotocol 的协议.

2. 写测试页面

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />

</head>

<body>

<div>

<a href="myprotocol://">

执行可执行文件

</a>

</div>

</body>

</html>

运行页面,点击链接察渗,就能直接打开 notepad 。因为这里用的是写字板测试的,可以在注册表中,改成其他任何程序。

 芦让穗 您好!很高兴为您答疑。

因为新的安全机制的问题,火狐浏览器是无法通过js直接驱动滑笑本地任何文件的,尤其exe等安全级别较高的文件陪卜,请知晓。

如果对我们的回答存在任何疑问,欢迎继续问询。

用js打开exe文件的方法如下:

1、准备exe文件:

在D盘下新建文件夹JSexe,在JSexe下新建C++文件,命名为MakeExe,并写入如下代码:

#include <string>

#include <iostream>

#include <sstream>

using namespace std

int main(int argc, char * argv[])

{  敏粗 int a

for(int i=0i<argci++){

cout<<argv[i]<<endl

}

cin>>a

return 贺拿誉0

}

2、编译上而代码禅段生成可执行文件,结果如下:

3、在JSexe下新建JSEXE.html文件,写入以下html代码:

<html>

<head>

<meta http-equiv="Content-Type" content="text/html charset=gb2312">

<title>js</title>

<SCRIPT language=JavaScript>

function Run(strPath)

{

try

{

var objShell = new ActiveXObject("wscript.shell")

objShell.Run(strPath)

objShell = null

}  catch(e){

alert('找不到文件"'+strPath+'"(或它的组件之一)。请确定路径和文件名是否正确.')

alert(e.message)

alert(e.description)

alert(e.number) 

alert(e.name)

}

}  

</SCRIPT>

</head>

<!--以下是三种调用方式,onLoad(),oclick(),再就是直接写连接地址调用-->

<body >

<a href="#" onclick="Run('file:///D:/Php/Apache/htdocs/JSexe/zhaochao.exe Hello World')">运行EXE</a>

</body>

</html>

4、用IE打开JSEXE.html,点击”运行EXE“可看到效果如下:

注意:

1.只能在支持Active控件的浏览器上运行

2.如果Active控件被阻止,请设置IE属性允许加载Active控件,设置方法在IE里Internet项->安全 自定义级别,将ActiveX控件和插件里选项都启用,如


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12560022.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存