Чья это ошибка - IE или Windows / .NET? - PullRequest
0 голосов
/ 09 августа 2010

Когда я запускаю это, а затем захожу в диспетчер задач и вручную завершаю один из экземпляров iexplore (возможно, их 2, поскольку IE теперь также использует несколько процессов), я вижу всплывающее окно с сообщением об ошибке, которое говорит, что вкладка восстановлена,Однако сам iexplore невидим из-за моих настроек процесса.Соответственно, я не думаю, что это всплывающее сообщение о восстановлении всплывающего окна должно появиться.Это ошибка IE, не проверяющая, видна ли она перед отображением этого сообщения, или Windows / .NET не блокирует IE для отображения каких-либо «окон» (в данном случае всплывающих подсказок)?

Process process = new Process
{
  StartInfo =
  {
     CreateNoWindow = false,
     FileName = "iexplore.exe",
     UseShellExecute = true,
     ErrorDialog = false,
     WindowStyle = ProcessWindowStyle.Hidden
  }
};

process.Start();

Если это ошибка, где я могу сообщить об этом?Подключение

Ответы [ 2 ]

1 голос
/ 09 августа 2010

Если вы хотите сделать это правильно, вы должны записать взаимодействие в CoCreateInstance () CLSID_InternetExplorer с IID_IWebBrowser2 .Вы можете получить взаимодействие для IWebBrowser2 на pinvoke.net .

. Это создаст невидимый экземпляр IE, затем вы можете использовать IWebBrowser2::put_Visible(VARIANT_TRUE), чтобы сделать его видимым позже.

1 голос
/ 09 августа 2010

Я удивлен, что это работает вообще, приложения не в консольном режиме обычно игнорируют запрошенный WindowStyle. Попробуйте notepad.exe, например.

Но да, это было бы ошибкой в ​​IE. В противном случае класс Process не имеет полномочий, кроме простой передачи запрошенного стиля окна запущенному процессу. Процесс получает этот запрос через аргумент nShowCmd () WinMain ().

В Connect есть канал обратной связи для IE. Но они будут принимать только отчеты для IE9, и вы должны подать заявку. Я полагаю, что я пытаюсь прятаться от IE6 с ненавистной почтой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...