Пишу на c#, через COM запускаю IE IE = new SHDocVw.InternetExplorer(); Проблема в том что завершение работы браузера через IE.Quit() не всегда происходит коректно, иногда окно всеравно не закрывается, например в случае когда выскакивает какое либо диалоговое окно на сайте. Вопрос в следуюшем как получить id процесса который создается при запуске IE? используя его хочу убивать IE
IE = new SHDocVw.InternetExplorer(); у этого объекта должен быть handle. дальше Process.GetProcessByName("iexplore").First(a => a.Id == IE.Handle).Kill()
IE.HWND и a.Id это разные вещи, а подвисший IE через Kill() не убивается, его нужно только с принудительным завершением
ты не понял он хочет искать id процесса exploer и гасить его,заголовки не помогут тут ченить другое надо
ну ты же его всёравно убиваешь. тогда в цикле при следующем GetProcessesByName ты получаешь id очередного процесса и т.д. Edit:в дополнение к W!z@rD Code: [DllImport("user32.dll", CharSet=CharSet.Auto, SetLastError=true)] public static extern int GetWindowThreadProcessId(HandleRef handle, out int processId);
работает много IE мне нужно убить только некоторые из них. Для этого нужно знать конкретные id, чтоб не все подряд рубить, а только то что надо