在工作中,有些需求要打开本地的exe文件,那么javaScript如何实现呢?
本文提供了两种方法,看看哪种更适合自己
第一种方法:
1.新建一个txt文件,在文件中写入一下内容,写完之后保存,然后文件后缀名改为.reg的文件
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOTWebshell] @="URL:Webshell Protocol Handler" "URL Protocol"="" [HKEY_CLASSES_ROOTWebshellDefaultIcon] @="D:\med_gryl\sys_main.exe" // 这个需要改成exe文件的路径 [HKEY_CLASSES_ROOTWebshellshell] [HKEY_CLASSES_ROOTWebshellshellopen] [HKEY_CLASSES_ROOTWebshellshellopencommand] @="D:\med_gryl\sys_main.exe" // 这个需要改成exe文件的路径
2.在html中使用
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <a href="Webshell://hello">打开exe文件</a> </body> </html>
第二种方法:
这个方法只有ie浏览器支持,所以~~~都懂,废话不多说,直接上代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
function openreg(){
var obj = new ActiveXObject("WScript.Shell");
try{
var s = "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\CMS"; //这个路径一定要是\双斜杠
var sNic = obj.RegRead(s)
if(sNic!=null){
obj.run("D:\med_gryl\sys_main.exe"); //这个路径一定要是\双斜杠
}
}catch(e){
alert("本机没有安装客户端,请先下载安装!")
window.open('')
}
}
</script>
<h1>通过浏览器打开exe文件</h1>
<p>
<input type="button" value="进入系统" onclick="openreg()">
</p>
</body>
</html>
ActiveXObject这个方法是ie独有的,其他浏览器不支持