在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 版权协议,转载请附上原文出处链接和本声明。