2009-07-16 24 views
0

ユーザーが指定したコマンドライン引数を知る必要があるIE8アドオンがあります。アドオンから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 

で、どのように私はアドオンから実際の引数を得ることができますか?

答えて

1

IE8では、簡単にはできません。コマンドライン引数はLCIEフレームプロセスに送信され、LCIEプロセス情報のみがLCIEタブプロセスに渡されます。すべてのコマンドラインデータは、共有メモリを使用してタブプロセスにフラグとして渡されます。

質問するには、SCODEFコマンドラインパラメータを参照して、ホストLCIEフレームプロセスのプロセス識別子を見つけ、THATプロセスのコマンドラインを調べる必要があります。

これを行う理由を理解すると役立ちます。

+0

1.あなたのアイデアをありがとう:-) 2.なぜこれが必要なのですか?私のアプリケーションはアドオンでIEを起動し、このアドオンにいくつかのパラメータを渡す必要があります。 3.親プロセスをSCODEFで見つけることを提案しました。これは1つのインスタンスで動作しますが、5つのインスタンスがある場合、それらはすべて同じ親プロセスを参照し、最初のインスタンスコマンドラインだけを読み取ることができます。 – alex2k8

+0

共有メモリからデータを読み取ることはできますか?私はCREDATがそれを識別するために使われていると思いますか?これに関する情報はありますか? – alex2k8

+0

IEの内部構造の読み込みはサポートされていません。また、今日のやり方を理解したとしても、後で中断します。アドオンを設計して、 "read-the-command-line"要件が削除されるようにする必要があります。 – EricLaw

関連する問題