私はWCF web services
その自動化を作成していますinternet explorer
。の同じインスタンスにアクセスする必要がある複数の Web サービス呼び出しがありますInternet Explorer
。ただし、WCF
サービスはホストされIIS
ているため、Web サービスへのすべての呼び出しはセッション 0 で実行されます。同じインスタンスにアクセスするには、インスタンスのウィンドウ ハンドルを返すプロパティInternet Explorer
を使用します。以下のコードでは、ウィンドウ ハンドルでサービスとして実行されると、セッション 0 の分離により常に 0 が返されます。また、同じインスタンスにフックバックしたり、開いているすべてのウィンドウをループしたりすることもできません。プロセス リストを列挙し、セッション 0 で開いている各ウィンドウのプロセス ID を見つけることはできますが、オブジェクトにキャストすることはできません。SHDocVw.InternetExplorer.HWND
Internet Explorer
WCF
IIS 7
IE
IE
IE
System.Diagnostics.Process
SHDocVw.InternetExplorer
以下は私のコードです:
public int GetWhd()
{
InternetExplorer ie = new InternetExplorer();
ie.Visible = true;
return ie.HWND;
}
public int SetWhd(string whd)
{
int wh = Int32.Parse(whd);
InternetExplorer ie = null;
ShellWindows s = new ShellWindows();
foreach (SHDocVw.InternetExplorer ie1 in s)
{
try
{
if (ie1.HWND == wh)
{
ie = ie1;
break;
}
}
catch { return 2; }
}
if (ie != null) { ie.Navigate("www.google.com"); return 1; }
return 0;
}
どんな助けでも大歓迎です。