質問

私は、問題のビットを持っています。

スリップストリームSP3対についての私の以前の質問に関連します。パッチを適用SP3 には、我々は、より大きなの残りの部分を開きJavaScriptが含まれているローカルディスク、からシンプルなの.htmlファイルをロードするように指示開始され、Internet Explorerのプロセスがあるとの結論に来ていますチャット/会議システムを。 Internet ExplorerがLotus Notesクライアントから開始されます。

残念ながら、私たちが見ることができるすべては、タスクマネージャでポップアップのIexplore.exeプロセスがあり、そしていくつかの秒後、再び消えます。

私たちはディスク上に見つけたローカルの.htmlファイルを、開こうとすると、それがアクティブコンテンツを無効にしていることを告げ、私たちの一番上にその情報バーを提供します。これは、しかし、本当の問題ではありません。私たちは、同じ設定を持っていますが、すべてが動作し、手動での.htmlファイルをロードする場合などもあり、私たちに同じエラーを与える別のマシンを持っています。

しかし、おそらくそこにIExploreをがノートから開始されたときに表示されている別のエラーメッセージであるが、このプロセスは、単にシステムの残りの部分をキックスタートすることになっていると、このウィンドウが隠されているので、我々はそれを見ることができない、つまり、エラーメッセージ/問題ます。

は、だから、私たちは、エラーメッセージ、または何の問題があると見ることができるように、おそらく私は、その後すぐにウィンドウを示し、IExplorer.exeのが起動するのを待ち小さなプログラムを作成してみなければならない、と思いました。少なくとも、うまくいけば、我々はそれを見ることができるようになります。

これまでのところは良い、私は隠されたウィンドウで、私自身のプログラムからプロセスを開始した場合、メインウィンドウハンドルが0であり、したがって、私は後に、すべてのウィンドウを表示することができないことを除いて。私はこののIexplore.exeプロセスは同じ問題を持っているロータスノーツから始まっ期待しています。

私の監視プログラムは、C#で書かれており、基本的にこのループが実行されます:

foreach (var process in Process.GetProcesses())
{
    if (process.ProcessName.ToLower() == "iexplore")
        result.Add(process);
}

これは、すべてのIexplore.exeプロセス、窓を拾ったりない、と予想されるようにIE8で、私は、最初のウィンドウのための2つのプロセスを取得します。私は何度も何度もこれを実行し、以前の実行との違いを処理します。

しかし、このプロセスは簡単に開始時にウィンドウハンドル0を持っているので、私はこれにそれを変更します:

foreach (var process in Process.GetProcesses())
{
    if (process.ProcessName.ToLower() == "iexplore" &&
        process.MainWindowHandle != IntPtr.Zero)
    {
        result.Add(process);
    }
}

しかし今では、ウィンドウハンドルを得た後でも、まったく何をピックアップしていない(はい、process.MainWindowHandleは、ウィンドウが表示された後にゼロ以外のハンドル値を持っていますが、場合どこでウィンドウが表示されることはありません、それは0のまま。)

だから、質問です:私はこの隠されたのIexplore.exeプロセスを取り、それはすでにウィンドウハンドルを持っていないとき、自分自身を表示することを指示するための方法はありますか?私はそれを疑う、おそらく誰かが私が間違っていることを証明することができます。

でない場合は、私のバックアップ計画は、ウィンドウが表示されるように指定していることを除いて、元にすべてのコマンドライン引数を転送するシムのIexplore.exeプログラムを作成することです。これは解決策になるだろうか?

役に立ちましたか?

解決

私は自分自身のためにウィンドウハンドルを割り当てるためにウィンドウハンドルを持っている(または以前に割り当てられた1つを使用)しないIEのウィンドウを強制的にどのような方法があると信じて、それ自体は表示されません。

バックアップ方法としては:私は<全角> の、これは動作しますが、あなたはそこに危険な領域で作業していると思います。私は実際にちょうどあなたの問題を特徴づけるためにiexplore.exeをのすべての呼び出しをログに記録し、それに入るすべてのもの、そしてそれを使用するために、あなたのシムを書いてお勧めします。だけ徹底的に完全に良性のログを使って問題を特徴付けるした後、私はおそらくウィンドウを表示するには、iexplore.exeを強制するためのパラメータを変更することをお勧めします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top