发布网友 发布时间:2024-09-25 18:36
共1个回答
热心网友 时间:2024-09-25 18:48
Js如何调用本地应用程序一般情况下,浏览器中是无法直接和本机的其他的程序进行交互的,在IE中,我们可以通过ActiveX对象的方式进行。但是这个方式只适用于IE浏览器,另一种比较通用的方式便是URL协议的方式,我们将某种URL的协议注册给某个程序来进行处理,比如将tencent://这样的协议注册给QQ程序来进行处理,当浏览器需要访问这样的协议的时候就转给QQ程序进行处理。这种URL协议的方式是可以跨平台的,比如在Windows上你需要添加注册表项。
首先先看看js应该如何调用qq客户端。
window.open("tencent://message/?uin=346915968")
window.open顾名思义,打开。Tencent就不用多说了吧BAT之T。上述能直接打开qq帐则做号对应的对话框。由此可以知道网页上的在线客服功能是如何实现了吧。
那要是不需要打开对话框,就想要登陆qq应该如何实现呢肢茄?很简单呀:
window.open("tencent://message/?uin=qq")不过调用应用这种跟黑客没什么差别的行为,浏览器一般都是禁止的,
选择允许后,
启动应用,qq客户端就会被调起。
为什么说这个呢,老板又给了个需求孙饥衡,想让调起qq客户端一样,想通过演示页面的一个按钮,调起售票系统的各种程序...
什么都不说了,先看看什么是自定义协议。
PluggableProtocol,又叫URLProtocol,有时会叫Shell命令,通用的Protocol有http、ftp、mailto等,这些都是windows安装时自带的协议。
接着也实现一个简单的自己的自定义协议吧。
1,运行window,输入regedit打开注册表。在HKEY_CLASSES_ROOT下面建一个自己起的名字的表。
用如下格式把各项值添上:
js打开qq音乐.exe
启动应用
end.
javascript能做本地程序吗可以的。
使用javascript构建本地程序一般需要如下环境:一个js引擎,一个界面工具。
js引擎:目前都是用nodejs,nodejs是基于chromev8封装的一个本地js解析器。
界面工具:既然是本地程序,一般都需要界面,这里界面工具都是选择某种浏览器封装。比较流扰漏雹仔行的是基于chromium进行封装。
-----------------------------------------------------------
好消息是目前已经有比较完美的封装了,比如electron封装了本地化的引擎和界缓肆烂面工具。
微软的VisualStudioCode就是基于electron开发的。
关于javascript调用本地dll这根本就是不可能的事情,你想想,页面里的JS都是开发人员写的,而在浏览者的颤前春电脑上执行。如果像你说的能用JS直接调用dll的话,那悔数么这个不是比病毒还要厉害了?人家电脑你想怎么玩就怎么玩。这简茄耐直就是浏览器史无前例的漏洞了,所以不用想了,不可能是你要的这种用法
js调用本地exe文件
通过注册表进行打开销孝本地的exe的运行文件。
打开记戚扮事本,随便命名,保存下面的内容
需要修改的地方:
保存,修改后缀名为reg;双击运行自动生成ChiticData的协议,在Html中写上这个协议即可打开本地运行程亏仔稿序
html编辑javascript调用本地程序提示找不到文件1,誉镇羡确保文件存在,庆拍
2.文件所在旅散目录的安全性设下everyone所有有权限,再试下呢。
如何用js调用本地exe文件html??
??body??
??SCRIPT???language=JavaScript??
??function???Run(strPath)???{??
??exe.value=strPath;??
??try???{??
??var???objShell???=???new???ActiveXObject("wscript.shell");??
??objShell.Run(strPath);??
??objShell???=???null;??
??}??
??catch???(e){alert('找不到文件"'+strPath+'"(或它的组件之一)。请确定路径和文件名是否正确,而且所需的库文件均可用。')??
???
??}??
??}??
??/SCRIPT??
???
??请输入要运行的程序:brinput???name=exe???type=text???size=20??
??value="regedit"BUTTON???class=button??
??onclick="Run(exe.value)"确定/BUTTONBUTTON???class=button??
??onclick=exe.value="";重新输入/BUTTONbr??
??BUTTON???class=button???onclick="Run('notepad')"记事本/BUTTONbr??
??BUTTON???class=button???onclick="Run('mspaint')"画图板/BUTTON斗慎郑br??
??BUTTON?孝困??class=button???onclick="Run('calc')"计算器/BUTTONbr??
??BUTTON???class=button???onclick="Run('cmd')"空颂cmd/BUTTONbr??
??BUTTON???class=button???onclick="Run('Regedit')"Regedit/BUTTONbr??
??BUTTON???class=button???onclick="Run('Msconfig')"Msconfig/BUTTONbr??
??BUTTON???class=button??onclick="Run('')"WINAMP/BUTTONbr??
??BUTTON???class=button???onclick="Run('IEXPLORE.EXE')"IE/BUTTONbr??
??BUTTON???class=button???onclick="Run('..')"../BUTTONbr??
??BUTTON???class=button???onclick="Run('%windir%')"%windir%/BUTTONbr??
??BUTTON???class=button???onclick="Run('%temp%')"%temp%/BUTTONbr?
??/body??
??/html