ieを自動化しようとしています.これは、ieウィンドウをキャッチするための私のコードです
ProcessStartInfo psi = new ProcessStartInfo();
psi.CreateNoWindow = false;
psi.FileName = "IExplore.exe";
psi.Arguments = "-nomerge about:blank ";
psi.WindowStyle = ProcessWindowStyle.Normal;
Process p = new Process();
p.StartInfo = psi;
if (p.Start())
{
int maxWait = 10000, wait = 0;
while (!p.HasExited && (p.MainWindowHandle == IntPtr.Zero))
{
wait += 10;
Thread.Sleep(10);
p.Refresh();
if (wait > maxWait) break;
}
wait = 0;
while (!p.HasExited && (_IE == null))
{
_IE = null;
ShellWindows m_IEFoundBrowsers = new ShellWindowsClass();//here i get exception
foreach (InternetExplorer Browser in m_IEFoundBrowsers)
{
if (Browser.HWND == (int)p.MainWindowHandle)
{
_IE = Browser;
break;
}
}
if ((_IE != null) || (wait > maxWait)) break;
else
{
wait += 10;
Thread.Sleep(10);
}
}
if (_IE != null)
{
IE.Visible = true;
IE.DocumentComplete += new DWebBrowserEvents2_DocumentCompleteEventHandler(IE_DocumentComplete);
}
else
{
Console.WriteLine("Problem opening IE!");
}
}
このコードは正常に動作しますが、remoteapp 経由でアプリケーションを起動しようとすると例外が発生します。理由は何らかのアクセスに関連していると思いますが、どうすればよいかわかりません。助けてください