时,我们希望实现这样一个特性:单击HTML页面上的链接将调用本地可执行文件。像腾讯QQ、迅雷这类。
实现此功能也非常简单,这需要我们添加和修改注册表来实现自定义URL协议协议。
自定义URL Protocol 协议
一些应用软件可以在浏览器中点击一个url后自动启动,并执行操作。
1. win+r打开注册表,输入regedit进入注册表
2. 在注册表 左边最上面HKEY_CLASSES_ROOT那个树右键新建——项。该项的名称自己命名,其实该名称也是协议的名称,我们调用的时候就是根据该协议调用的,而我这里随便起了一个:ZZO。
3. 然后在该项中右键->新建->字符串值,创建一个URL Protocol的值,其中数据默认为空。
4. 然后在ZZO下新建->项,名字为DefaultIcon
5. 在ZZO下新建->项,名称为shell。并在shell下新建名为open的项。然后在open下新建名为command的项
6. 然后分别修改DefaultIcon 和 command 的值为要调用的程序完整路径.
比如我这里要调用的是QQ,完整路径为:D:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe
7. 然后我们在html页面添加一个a标签
<a href="Zzo://">open</a>
8. 点击页面按钮
通过网站调用可执行程序,主要是修改注册表,注册 URL Protocol 协议。
注意上面 command 项的值可以为 C:\Program Files (x86)\Qiaoker\updater.exe "%1" ,这个"%1"是传递给 updater.exe的参数。
加了后使用是我们就可以传参数了,
<a href="Uaiqiy://cid:110&username:mjq">
方式二:使用js调起客户端
除了上面那种方式,我们还可以通过调用js函数实现客户端exe程序的调用,但是这种方式局限性很大,目前只支持IE浏览器。
代码如下:
function execProgram() {
var exepath = "D:\Program Files (x86)\Tencent\QQMusic\QQMusic.exe"
var ws = new ActiveXObject("WScript.Shell");
ws.Exec(exepath);
}
信大家在使用一些软件的时候会发现,只要点击了它们的一些网页广告就会运行一些推广软件或者是官方软件。它们是怎么实现的呢?其实方法很简单,听来群网慢慢道来。
下面链接是微软MSDN上的说明,为了大家易懂,所以在这里分享给大家:http://msdn.microsoft.com/en-us/library/aa767914%28v=vs.85%29.aspx
当然,或许还有更复杂的方法,小编只举一个简单的例子。
此方法分两部份:1. 注册表代码部份; 2. HTML代码部份
1.注册表代码:
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\laiqun] @="laiqun Protocol" "URL Protocol"="" [HKEY_CLASSES_ROOT\laiqun\DefaultIcon] @="C:\\WINDOWS\\NOTEPAD.EXE" [HKEY_CLASSES_ROOT\>laiqun\shell] @="" [HKEY_CLASSES_ROOT\laiqun\shell\open] @="" [HKEY_CLASSES_ROOT\laiqun\shell\open\command] @="\"C:\\WINDOWS\\NOTEPAD.EXE\" "
注释:laiqun代表链接前缀如:[laiqun://], 可修改为您想要的前缀。
C:\WINDOWS\NOTEPAD.EXE\ 代表需要执行EXE的路径(可执行文件),可替换您想运行的程序。
修改完后保存,将TXT文件重命名为【文件名.Reg】然后运行就加入注册表中(如下图)
注册表代码
2.html代码:
<!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/html; charset=utf-8" /> </head> <body> <div> <a href="laiqun://">此处文字按需修改</a> </a> </div> </body> </html>
把上面的html代码复制到notepad++,修改完成后点击保存,然后把TXT后缀修改成html即可(如下图)。
HTML代码
打开html文件点击里面的链接就能直接打开笔记本,我里面路径写的是记事本程序的路径,所以点击的时候是打开记事本,这个文件路径可以在注册表程序中修改。
注意:编辑代码建议使用 notepad++等专业文本编辑器,不建议使用电脑自带的记事本。
好了,关于 html(网页)运行本地程序(exe文件)的方法与源码 的教程就到这里,谢谢大家支持。
如果大家有什么不明白的地方,可以在下方评论、留言。
html实现本地文件的上传,html实现文件上传,html实现文件上传解决方案,html实现文件上传思路,html实现文件上传实例,html实现文件上传源码,html实现文件分块上传,html实现文件分片上传,html实现文件夹上传,html实现文件加密上传,
要求操作便利,一次选择多个文件和文件夹进行上传;
支持PC端全平台操作系统,Windows,Linux,Mac
支持文件和文件夹的批量下载,断点续传。刷新页面后继续传输。关闭浏览器后保留进度信息。
支持文件夹批量上传下载,服务器端保留文件夹层级结构,服务器端文件夹层级结构与本地相同。
支持大文件批量上传(20G)和下载,同时需要保证上传期间用户电脑不出现卡死等体验;
支持文件夹上传,文件夹中的文件数量达到1万个以上,且包含层级结构。
支持断点续传,关闭浏览器或刷新浏览器后仍然能够保留进度。
支持文件夹结构管理,支持新建文件夹,支持文件夹目录导航
交互友好,能够及时反馈上传的进度;
服务端的安全性,不因上传文件功能导致JVM内存溢出影响其他功能使用;
最大限度利用网络上行带宽,提高上传速度;
对于大文件的处理,无论是用户端还是服务端,如果一次性进行读取发送、接收都是不可取,很容易导致内存问题。所以对于大文件上传,采用切块分段上传
从上传的效率来看,利用多线程并发上传能够达到最大效率。
文件上传页面的前端可以选择使用一些比较好用的上传组件,例如百度的开源组件WebUploader,这些组件基本能满足文件上传的一些日常所需功能,如异步上传文件,文件夹,拖拽式上传,黏贴上传,上传进度监控,文件缩略图,甚至是大文件断点续传,大文件秒传。
在web项目中上传文件夹现在已经成为了一个主流的需求。在OA,或者企业ERP系统中都有类似的需求。上传文件夹并且保留层级结构能够对用户行成很好的引导,用户使用起来也更方便。能够提供更高级的应用支撑。
1.下载示例
https://gitee.com/xproer/up6-vue-cli
将up6组件复制到项目中
示例中已经包含此目录
1.引入up6组件
2.配置接口地址
接口地址分别对应:文件初始化,文件数据上传,文件进度,文件上传完毕,文件删除,文件夹初始化,文件夹删除,文件列表
参考:http://www.ncmem.com/doc/view.aspx?id=e1f49f3e1d4742e19135e00bd41fa3de
3.处理事件
启动测试
启动成功
效果
数据库
源码工程文档:https://drive.weixin.qq.com/s?k=ACoAYgezAAw1dWofra
源码报价单:https://drive.weixin.qq.com/s?k=ACoAYgezAAwoiul8gl
OEM版报价单:https://drive.weixin.qq.com/s?k=ACoAYgezAAwuzp4W0a
产品源代码:https://drive.weixin.qq.com/s?k=ACoAYgezAAwbdKCskc
授权码生成器:https://drive.weixin.qq.com/s?k=ACoAYgezAAwTIcFph1
*请认真填写需求信息,我们会在24小时内与您取得联系。