Command line 如何从加载项获取IE8命令行参数

Command line 如何从加载项获取IE8命令行参数,command-line,internet-explorer-8,add-in,Command Line,Internet Explorer 8,Add In,我有一个IE8插件,它需要知道用户指定的命令行参数 问题是,实际进程有命令行: c:\program files\Internet Explorer\iexplore.exe SCODEF:5740 CREDAT:79873 c:\program files\Internet Explorer\iexplore.exe SCODEF:5740 CREDAT:79880 而不是 c:\program files\Internet Explorer\iexplore.exe www.yahoo.c

我有一个IE8插件,它需要知道用户指定的命令行参数

问题是,实际进程有命令行:

c:\program files\Internet Explorer\iexplore.exe SCODEF:5740 CREDAT:79873
c:\program files\Internet Explorer\iexplore.exe SCODEF:5740 CREDAT:79880
而不是

c:\program files\Internet Explorer\iexplore.exe www.yahoo.com
c:\program files\Internet Explorer\iexplore.exe www.google.com

那么,我如何才能从附加组件中获得真正的参数呢?

在IE8中,您无法轻松做到这一点。命令行参数被发送到LCIE帧进程,只有LCIE进程信息被传递到LCIE选项卡进程。使用共享内存将任何命令行数据作为标志传递给选项卡进程

要执行您要求的操作,您需要查看SCODEF命令行参数,以找到承载LCIE帧进程的进程标识符,然后检查该进程的命令行


了解您为什么要这样做可能会有所帮助。

1。谢谢你的想法:-)2。为什么我需要这个。。。我的应用程序以一个附加组件启动IE,我需要向这个附加组件传递一些参数。3.您建议通过SCODEF查找父进程。这适用于一个实例,但如果我们有5个实例,它们都引用相同的父进程,因此只能读取第一个实例的命令行?我猜CREDAT是用来识别它的?关于这一点有什么信息吗?不支持尝试读取IE的内部结构,即使你今天知道了怎么做,它也会在以后崩溃。您需要设计外接程序,以便删除“读取命令行”要求。具体而言,您可以将数据放在共享位置(例如注册表、文件等),并让外接程序读取数据。稍微黑客化一点,你可以开始IE传递一个自定义URL,你的加载项可以识别并执行操作。等等