用Chrome外部协议请求启动IE进程

  • Post author:
  • Post category:其他



在Chrome下调用其他进程,可以用注册表的形式来实现。但直接调用IE(包括其他进程),会传入一些额外的参数(如本例中的f2://douban.com),这样调用Ie的时候会出现连续嵌套调用的情况,致使调用失败。后来想了一种间接地办法,即自己写一个创建ie进程的exe文件,由chrome去调用此exe文件,exe文件对传入的参数进行了截断处理之后再把网址以参数的形式传给ie。


IEexternal.reg

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\F2]
@="URL:F2 Protocol Handler"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\F2\shell]

[HKEY_CLASSES_ROOT\F2\shell\open]

[HKEY_CLASSES_ROOT\F2\shell\open\command]
@="G:\\PAD\\Debug\\PAD.exe \"%1\""	

其中“G:\\PAD\\Debug\\PAD.exe”是中间exe文件的路径,负责开启并传递网址参数给ie。%1是参数替换符,在chrome调用Ie的时候,它会被替换成“f2://网址”形式的参数。


创建好之后运行此reg文件



版权声明:本文为youkawa原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。