HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Получить id процесса COM объекта (C#)
  #1  
Старый 28.04.2010, 16:33
nc.STRIEM
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
С нами: 10578566

Репутация: 1228


По умолчанию Получить id процесса COM объекта (C#)

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

  #2  
Старый 28.04.2010, 16:38
Sunstrider
Banned
Регистрация: 09.04.2010
Сообщений: 181
С нами: 8468331

Репутация: 12
По умолчанию

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

  #3  
Старый 28.04.2010, 17:26
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
С нами: 10653446

Репутация: 836


По умолчанию

IE = new SHDocVw.InternetExplorer();

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

дальше Process.GetProcessByName("iexplore").First(a => a.Id == IE.Handle).Kill()
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
 
Ответить с цитированием

  #4  
Старый 28.04.2010, 17:28
Sunstrider
Banned
Регистрация: 09.04.2010
Сообщений: 181
С нами: 8468331

Репутация: 12
По умолчанию

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

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

дальше Process.GetProcessByName("iexplore").First(a => a.Id == IE.Handle).Kill()
я спрашивал,не подходит т.к. будет много окон многопоточно
 
Ответить с цитированием

  #5  
Старый 28.04.2010, 18:20
nc.STRIEM
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
С нами: 10578566

Репутация: 1228


По умолчанию

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

Последний раз редактировалось nc.STRIEM; 28.04.2010 в 18:44..
 
Ответить с цитированием

  #6  
Старый 28.04.2010, 18:44
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
С нами: 10653446

Репутация: 836


По умолчанию

да посмотрел. Как вариант искать по заголовку.
a.MainForm.Title (что-то в таком духе)
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
 
Ответить с цитированием

  #7  
Старый 28.04.2010, 18:48
Sunstrider
Banned
Регистрация: 09.04.2010
Сообщений: 181
С нами: 8468331

Репутация: 12
По умолчанию

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

  #8  
Старый 28.04.2010, 18:55
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
С нами: 10653446

Репутация: 836


По умолчанию

Цитата:
Сообщение от Sunstrider  
ты не понял он хочет искать id процесса exploer и гасить его,заголовки не помогут тут ченить другое надо
бл**ь иногда лучше промолчать
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
 
Ответить с цитированием

  #9  
Старый 28.04.2010, 19:02
scrat
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
С нами: 10048706

Репутация: 1540


По умолчанию

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

  #10  
Старый 29.04.2010, 13:08
nc.STRIEM
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
С нами: 10578566

Репутация: 1228


По умолчанию

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



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
получить время ЦП для выбранного процесса transserg С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 6 11.12.2009 21:24
Как с помощью PID процесса, получить полный путь к файлу? [n]-c0der С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 6 28.10.2009 14:32
изменение приоритета процесса после ребута/запуска процесса 159932 Windows 7 22.12.2008 20:07



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.