前些天再csdn上看到有人问如何点击网页上的某个链接,达到启动本机应用程序的目的,我看了下下面的回答,有人说使用dll,但看来看去总感觉思路不对。于是就有了这篇博文。

我们经常会在网站看到在线qq客服,只要你一点击,电脑就会自动启动本机的qq,在你成功登陆之后弹出一个临时聊天的窗口。

具体代码:

<a href="tencent://message/?uin=215555521&Site=JooIT.com&Menu=yes"><img border="0" SRC='http://wpa.qq.com/pa?p=1:215555521:3' alt="点击这里给我发消息"></a>

但它是如何实现的呢?下面文章以及微软官方说明详细解释了其工作原理:

[微软官方说明](http://msdn.microsoft.com/library/default.asp?url=/workshop/networking/pluggable/overview/appendix_a.asp)

Register protocol,此文中对于 Windows、Linux 和 OS X 操作系统如何注册协议都有说明。比如说 Windows,其实只需写入注册表,即可实现协议与执行程序的关联。

例如腾讯的Tencent://Message协议注册表如下:

    [HKEY_CLASSES_ROOT\TENCENT]@=”TencentProtocol”“URL Protocol”=”D:\\Program Files\\Tencent\\QQ\\Timwp.exe”[HKEY_CLASSES_ROOT\TENCENT\DefaultIcon]@=”D:\\Program Files\\Tencent\\QQ\\Timwp.exe,1″[HKEY_CLASSES_ROOT\TENCENT\shell][HKEY_CLASSES_ROOT\TENCENT\shell\open][HKEY_CLASSES_ROOT\TENCENT\shell\open\command]@=”\”D:\\Program Files\\Tencent\\QQ\\Timwp.exe\” \”%1\”"

此注册表所实现的就是当浏览器(或其它)碰到 tencent://… 时,自动调用 Timwp.exe,并把 tencent://… 地址作为第一个参数传递给 Timwp.exe。

因此可以只要自己注册协议后,就可以通过网页来启动应用程序了。

转自 http://www.cnblogs.com/geekzph/archive/2011/06/16/2082988.html

请允许我打个广告
阿里云2018双11云服务只需99.5元

  • 1核2G内存,¥99.5/年
  • 2核4G内存,¥545.00/1年
  • 2核4G内存,¥927.00/2年
  • 2核4G内存,¥1227.00/3年
  • 2核8G内存,¥2070.00/3年(本人认为最划算)
    直达入口:http://t.cn/EZ14u8r

如何通过网页启动应用程序相关推荐

  1. summit网页上的smt打不开 提示无法启动应用程序 请与应用程序供应商联系

    [问题描述] 在网页上打开smt时,如果提示"无法启动应用程序.请与应用程序供应商联系",查看详细信息: System.Deployment.Application.Deploym ...

  2. 使用 Electron 从协议处理器启动应用程序

    使用 Electron 从协议处理器启动应用程序 此系列文章的应用示例已发布于 GitHub: electron-api-demos-Zh_CN. 可以 Clone 或下载后运行查看. 欢迎 Star ...

  3. 无法启动此应用因为计算机丢失,解决提示“无法启动此程序,因为计算机中丢失chrome_elf.dll”的问题...

    当系统使用某些软件(谷歌浏览器等)时提示"无法启动此程序,因为计算机中丢失chrome_elf.dll"时,且软件不能正常使用.新客网小编整理提供了解决方案并亲测成功. 方案1: ...

  4. 最绿色最高效,用win+r启动常用程序和文档

    最绿色最高效,用win+r启动常用程序和文档 作者: 善用佳软 日期: 2010-10-01 分类: 系统工具 标签: quick-launch 真正的高手,是普通招式发挥出大威力,是根据情况选用最合 ...

  5. 用win+r启动常用程序和文档【最绿色最高效】

    真正的高手,是普通招式发挥出大威力,是根据情况选用最合适的招法,是从繁芜的武学中跳得出来.软件之道亦然.固然要选佳软,但更须善用.软件再好, 也是开发者之功:而运用之妙存乎一心,才是属于用户.在快速启 ...

  6. Nativefier 网页转桌面程序 app

    Nativefier 网页转桌面程序 Nativefier简介 Nativefier是一个命令行工具,仅仅通过一行代码就可以轻松地为任何的网站创建桌面应用程序,应用程序通过Electron打包成系统可 ...

  7. linux启动java jar文件_推荐:Linux启动Java程序jar包Shell脚本

    #!/bin/sh# 该脚本为Linux下启动java程序的脚本## author: luandy# date: 2021/1/15## 特别注意:# 该脚本使用系统kill命令来强制终止指定的jav ...

  8. Android之如何获取手机程序列表以及程序相关信息并启动指定程序

    效果图: 程序列表: 启动程序,获取程序信息: 代码如下: 创建一个AppInfo类来表示应用程序 <pre name="code" class="java&quo ...

  9. 无法启动此程序,因为计算机中丢失 MSVCP120.dll。尝试安装该程序以解决此问题

    无法启动此程序,因为计算机中丢失 MSVCP120.dll.尝试安装该程序以解决此问题 参考文章: (1)无法启动此程序,因为计算机中丢失 MSVCP120.dll.尝试安装该程序以解决此问题 (2) ...

最新文章

  1. setfacl命令_一名合格的Linux运维人员应该掌握哪些命令?
  2. 【car】买车时保险的坑
  3. Docker linux安装
  4. pycharm中导入包失败,如何设置外部模块的路径
  5. REVERSE-PRACTICE-BUUCTF-16
  6. 【BZOJ - 1305】dance跳舞(拆点网络流,建图,最大流,残留网络上跑最大流)
  7. 一个命令,让你的网站支持https
  8. listctrl 的使用技巧
  9. 高斯拟合原理_数据分析中的插值与拟合(2) —— 拟合
  10. MySQL增强版命令行客户端连接工具(mycli)
  11. (8). 使用JPA保存数据【从零开始学Spring Boot】
  12. Nginx 为什么快到停不下来?
  13. 算法第四版_第二章_练习题_2.1.1~2.1.12
  14. html文字浮雕效果不起作用,CSS3实现文字浮雕效果,镂刻效果,火焰文字
  15. 三分求单峰/单谷函数极值
  16. WinPE下修改本地系统注册表
  17. 洛谷 P5564: [Celeste-B]Say Goodbye
  18. 一个可以把Google Docs变成GDrive的工具
  19. 脑卒中css评分是什么意思,你知道房颤卒中新评分—ABC评分量表吗?
  20. 大牛谈如何搞定机器视觉

热门文章

  1. 《有限元分析基础教程》(曾攀)笔记二-梁单元方程推导(二):简支梁挠曲线近似解...
  2. Android中gradlew命令的基本使用
  3. 【电机控制不得不学习的干货:】 飞思卡尔MCU正交编/解码器模块
  4. Flame 2020 for Mac破解版(影视特效合成软件)
  5. 2017蓝桥杯省赛C++B组真题与题解
  6. 基于自适应适应度-距离平衡的随机分形搜索算法(Matlab代码实现)
  7. 使用GPS坐标查询国家以及城市名称,reverse_geocoder包用法
  8. statement和preparedment的区别
  9. springboot vue3 elementui plus图书借阅管理系统源码
  10. 去掉字符串中所有的逗号