にプロセスのMainWindowHandleを取得:私はこのようなC#でプロセスを開始するのC#
Process p= new Process();
p.StartInfo.FileName = "iexplore.exe";
p.StartInfo.Arguments = "about:blank";
p.Start();
時々私はすでに(私はコントロールできないもの)を実行しているInternet Explorerのインスタンスを持っている、と私はつかむしようとすると、 MainWindowHandle of p:
p.MainWindowHandle
私はプロセスがすでに終了しているという例外があります。
私はInternetExplorerオブジェクトに添付できるように、MainwindowHandleを取得しようとしています。
これをIEの複数のインスタンスで実行するにはどうすればよいですか?
? – Saobi
FindWindow(文字列タイトル、intインデックス)は、特定のインデックスのインスタンスを返します。戻り値の型をProcessに変更し、l [index] .MainWindowHandleの代わりにl [index]を返すだけです。返されたプロセスの.CloseMainWindow()を呼び出します。 – SuperPro
@Saobi - p.MainWindowHandleは、p.Start()で作成されたIEインスタンスを指します。別のインスタンスではありません。 しかし、p.MainWindowHandleがp.Start()の直後にアクセスされた場合、プロセスはまだ実際にSTARTEDを持っていない可能性があります。 p.WaitForInputIdleを見てください。 –