http://bbs.kafan.cn/thread-1254526-1-1.html

原理:很简单,标题写的很明确了,不懂的google去。

步骤:举个例子,我要启动D:\Programe files\Psiphon\Psiphon.exe

      一,将下面内容复制到记事本,保存成F1.reg导入注册表

  1. Windows Registry Editor Version 5.00
  2. [HKEY_CLASSES_ROOT\F1]
  3. @="URL:F1 Protocol Handler"
  4. "URL Protocol"=""
  5. [HKEY_CLASSES_ROOT\F1\shell]
  6. [HKEY_CLASSES_ROOT\F1\shell\open]
  7. [HKEY_CLASSES_ROOT\F1\shell\open\command]
  8. @="D:\\Program Files\\Psiphon\\Psiphon.exe \"%1\""

复制代码

二,打开新标签页,点五角星收藏,然后修改书签,Name:Psiphon    URL:F1://

    三,点击书签,会弹出启动外部协议的对话框,允许就可以启动Psiphon.exe

补充:默认的书签图标是小地球,很丑,我们可以给它加个Psiphon图标

方法:
     一、首先导出收藏夹

     二、右键编辑和html文件,我们会发现刚才加Psiphon书签是这样的格式:

  1. <DT><A HREF="F1://" ADD_DATE="1330861510">Psiphon</A>

复制代码

三、在ADD_DATE后面加上图标的代码,注意空格,注意图标是base64格式,可以找一张16px的图片转成base64格式。提供一个在线转换的网站www.vgot.net/test/image2base64.php?

  1. <DT><A HREF="F1://" ADD_DATE="1330861510" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABnklEQVQ4ja2RvUscQRyGn9kPo1GQHCnCNcpxlRZiUAgk2IY0KbSxvvwLNiFV8hek0iKNQkgnQbCTWPsRiSYK4gdyS7wj7h6Hl3Pvsne7Y7ErO7t3qEVemGJ3fu8z7zsjSGvkVYHx1x+R0kYKBxnYeDWbhnuBbe1S2l+htOPejIuUXefZm0Pyk/kO8I3arRJnOzNsLm4AaInN3NQsuhmb3UtwLKiWoV4FKcEws+QnvpLNPkwDBJnht4lQTRcq52BbUD6GP2fRpPGEoecvk4Dc6DRCjCZKCUBoIKKfjZpS9lEuCcg8fddxLULEZoCePmVPCwAMALJjLxDaeNrPQAbMPgj88Lt/UKln/4oBuvE4mTuS0ROutFrtb2wvr8eAALNzCmjWwa2Bpocr8Ctc/H7P1qcFQKlg+PExaufGX7CL4LU8gvY81sYHLq2qekYIEL3dE3ieRPqrOAdznO8ddRuJAGoFJcEDc5Hvnwtd4ZHCZwyUm1JfQYqr28xKAiNO8K8B5ROQ/MQprt0P4Ld1mjJAp0Ld+cLp9hL23o+7zP9F157Rh4DbjctMAAAAAElFTkSuQmCC">Psiphon</A>

复制代码

四、删除所有书签,重现将修改的html文件导入收藏夹

利用外部协议让chrome启动外部应用程序的更多相关文章

  1. C#中启动外部应用程序

    C#中我们可以通过Process类直接启动外部应用程序 代码如下: Process p = new Process();                    p.StartInfo.FileName ...

  2. 启动外部exe程序

    Process myProcess = new Process();myProcess.StartInfo.FileName = pathName;myProcess.Start();其中的pathN ...

  3. 一个简单的以User权限启动外部应用程序(用NetUserAdd函数和USER_INFO_1结构体动态添加用户,然后用CreateProcessWithLogonW启动程序)

    版权声明:本文为博主原创文章,未经博主允许不得转载. BOOL ExecuteAsUser(LPCWSTR lpszUserName, LPCWSTR lpszPassword, LPCWSTR lp ...

  4. 一个简单的以User权限启动外部应用程序

    BOOL ExecuteAsUser(LPCWSTR lpszUserName, LPCWSTR lpszPassword, LPCWSTR lpszApplication, LPCWSTR lpsz ...

  5. 在winform嵌入外部应用程序

    应朋友要求,需要将一个第三方应用程序嵌入到本程序WinForm窗口,以前在VB6时代做过类似的功能,其原理就是利用Windows API中FindWindow函数找到第三方应用程序句柄,再利用SetP ...

  6. chrome浏览器插件启动本地应用程序

    chrome浏览器插件启动本地应用程序 2014-04-20 00:04:30|  分类: 浏览器插件|举报|字号 订阅     下载LOFTER我的照片书  |     chrome的插件开发这里就 ...

  7. C#中通过Process启动的外部第三方程序MainWindowHandle句柄为0

    原文 C#中通过Process启动的外部第三方程序MainWindowHandle句柄为0 前几天遇到了一个在C#的winform程序中,启动一个第三方jar程序,并修改jar运行窗体的标题的问题. ...

  8. 利用win10自带的系统配置禁止开机启动项和程序

    一.利用win10自带的系统配置禁止开机启动项和程序     首先打开"运行"对话框,可以通过开始菜单打开运行,也可以按下快捷键WIN+R打开"运行".如下图. ...

  9. python 怎么启动一个外部命令程序, 并且不阻塞当前进程

    http://www.myexception.cn/perl-python/1278887.html http://blog.chinaunix.net/uid-25979788-id-3081912 ...

随机推荐

  1. imagecopyresampled()改变图片大小后质量要比imagecopyresized()高。

    php程序中改变图片大小的函数大多数人都想到用imagecopyresized(),不过经过测试比较发现,使用imagecopyresampled()改变的图片质量更高. 下面我们来看看两者的比较结果 ...

  2. HDU - 2612 Find a way 【BFS】

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=2612 题意 有两个人 要去一个城市中的KFC 一个城市中有多个KFC 求两个人到哪一个KFC的总时间最 ...

  3. 一次跨域请求出现 OPTIONS 请求的问题及解决方法

    问题背景浏览器从一个域名的网页去请求另一个域名的资源时,域名.端口.协议任一不同,都是跨域 在前后端开发过程经常会遇到跨域问题.网上也都有解决方案. 写这篇文章时,我们碰到的一个场景是:要给s系统做一 ...

  4. github 博客模板

    http://www.jianshu.com/p/d658ba3b4351 http://jekyllthemes.org/

  5. 《CSS权威指南(第三版)》---第四章 值和单位

    本章主要讲解的是一些属性声明用的值: CSS中的值主要有数字,百分数,颜色, 1.颜色: rgb(100%,100%,100%)  OR  rgb(255,255,255) OR #FF0000 WE ...

  6. SDUT OJ 1479 数据结构实验之栈:行编辑器

    数据结构实验之栈:行编辑器 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述  一个简单的行编辑程序的功能是:接受用户从终端输入的程 ...

  7. hdu-2169 Computer(树形dp+树的直径)

    题目链接: Computer Time Limit: 1000/1000 MS (Java/Others)     Memory Limit: 32768/32768 K (Java/Others) ...

  8. jQuery精华

    第一章:入门 选择元素: $() css() $("li").css():可以省略原生的循环操作 $ == jQuery jQuery方法函数化: click() html() J ...

  9. Spring笔记07(Spring AOP的通知advice和顾问advisor)

    1.Spring AOP的通知advice 01.接口代码: package cn.pb.dao; public interface UserDao { //主业务 String add(); //主 ...

  10. C++之迭代器失效总结

    1. 对于序列式容器(如vector,deque),序列式容器就是数组式容器,删除当前的iterator会使后面所有元素的iterator都失效.这是因为vetor,deque使用了连续分配的内存,删 ...