自定义协议从浏览器中启动本地应用程序

1. 需要启动的本地应用程序为:

    e:\SRC\Test\MyApp\bin\Debug\MyApp.exe

2. 编辑注册表导入文件: MyApp_Disk_D.reg

    内容如下:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\myapp]
@="URL:AutoHotKey myapp Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\myapp\DefaultIcon]
@="myapp.exe,1"

[HKEY_CLASSES_ROOT\myapp\shell]

[HKEY_CLASSES_ROOT\myapp\shell\open]

[HKEY_CLASSES_ROOT\myapp\shell\open\command]
@="\"e:\\SRC\\Test\\myapp\\bin\\Debug\\myapp.exe\" \"%1\""


3. 将上面的文件导入到注册表.

4. 在IE中输入如下内容,即可启动应用程序myapp.exe    

myapp://parameter

5. 至此在大多数浏览器中,已经能够通过自定义的协议启动指定应用程序了.

6. 对于Chrome浏览器,若不能启动指定的应用,请查看如下几点

6.1 自定义协议后的参数不能太短,最好超过三个字符,并且最好不要用一些常用的关键字.

6.2 配置Chrome的阻止的协议列表, 配置文件路径如下,不用的安装路径,还不用的用户,路径稍有不同:

      C:\Users\liu\AppData\Local\Google\Chrome\User Data\Local State

      打开此文件后,找到如下内容:

"protocol_handler":
{
	"excluded_schemes":
	{
		"afp":true,
		"data":true,
		"disk":true,
		"disks":true,
		"file":true,
		"hcp":true,
		"iview":false,
		"javascript":true,
		"mailto":false,
		"ms-help":true,
		"ms-windows-store":false,
		"myapp":false,
		"news":false,
		"nntp":true,
		"shell":true,
		"snews":false,
		"tencent":false,
		"vbscript":true,
		"view-source":true,

      确保我们自己定义的协议 myapp 后面的值为"false", 即不在被排除的列表中.

7. 通过网页中的连接打开本地相关应用程序的示例如下




 
    Web Automation
      
     


    










你可能感兴趣的:(IE)