Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Получить id процесса COM объекта (C#) (https://forum.antichat.xyz/showthread.php?t=200055)

nc.STRIEM 28.04.2010 16:33

Получить id процесса COM объекта (C#)
 
Пишу на c#, через COM запускаю IE
IE = new SHDocVw.InternetExplorer();
Проблема в том что завершение работы браузера через IE.Quit() не всегда происходит коректно, иногда окно всеравно не закрывается, например в случае когда выскакивает какое либо диалоговое окно на сайте. Вопрос в следуюшем как получить id процесса который создается при запуске IE? используя его хочу убивать IE

Sunstrider 28.04.2010 16:38

http://msdn.microsoft.com/en-us/library/ms633522.aspx если я понял что ты спрашиваеш

W!z@rD 28.04.2010 17:26

IE = new SHDocVw.InternetExplorer();

у этого объекта должен быть handle.

дальше Process.GetProcessByName("iexplore").First(a => a.Id == IE.Handle).Kill()

Sunstrider 28.04.2010 17:28

Цитата:

Сообщение от W!z@rD
IE = new SHDocVw.InternetExplorer();

у этого объекта должен быть handle.

дальше Process.GetProcessByName("iexplore").First(a => a.Id == IE.Handle).Kill()

я спрашивал,не подходит т.к. будет много окон многопоточно

nc.STRIEM 28.04.2010 18:20

IE.HWND и a.Id это разные вещи, а подвисший IE через Kill() не убивается, его нужно только с принудительным завершением

W!z@rD 28.04.2010 18:44

да посмотрел. Как вариант искать по заголовку.
a.MainForm.Title (что-то в таком духе)

Sunstrider 28.04.2010 18:48

Цитата:

Сообщение от W!z@rD
да посмотрел. Как вариант искать по заголовку.
a.MainForm.Title (что-то в таком духе)

ты не понял он хочет искать id процесса exploer и гасить его,заголовки не помогут тут ченить другое надо

W!z@rD 28.04.2010 18:55

Цитата:

Сообщение от Sunstrider
ты не понял он хочет искать id процесса exploer и гасить его,заголовки не помогут тут ченить другое надо

бл**ь иногда лучше промолчать

scrat 28.04.2010 19:02

Может для реализации не подойдёт, но может проще делать через компонент WebBrowser?

nc.STRIEM 29.04.2010 13:08

проблема не в том как завершить процесс, а в том как получить его id


Время: 11:18