Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 24.02.2019
Сообщений: 7

Закрытие конкретного процесса

22.03.2019, 10:05. Показов 1865. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Возникла проблема, есть два процесса с одинаковым именем, но с разными handle
C#
1
2
3
4
foreach (Process pr in Process.GetProcessesByName("BlueStacks"))
                    {
                        pr.Kill();
                    }
закрывает оба окна, а требуется найти один конкретный
Window Capiton : 1) Bluestacks, 2)BlueStacks BlueStacks_1
Подскажите как можно было бы закрыть только один из этих процессов
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.03.2019, 10:05
Ответы с готовыми решениями:

Закрытие процесса
Привет друзья, вообщем морочу себе голову. Немогу понять как правильно в бесконечном цикле сделать закрытие процесса. К примеру,...

Закрытие процесса Word
Здравствуйте форумчане. Написал я метод, извлекающий информацию из документа ворд в строку. Вот, собственно он: private static string...

Получение списка процессов и закрытие процесса
Приветствую,столкнулся с такой проблемой ,вот код программы private void Form1_Load(object sender, EventArgs e) { ...

7
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
22.03.2019, 11:01
Medn,

C#
1
2
3
4
5
foreach (Process pr in Process.GetProcessesByName("BlueStacks"))
 {
                         if(pr.MainWindowTitle == "BlueStacks BlueStacks_1")
 pr.Kill();
 }
1
0 / 0 / 0
Регистрация: 24.02.2019
Сообщений: 7
22.03.2019, 13:06  [ТС]
Andreyip, Все равно закрывает оба, видимо, из-за того, что процесс один. Может быть есть способы закрытия через handle окна?
0
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
22.03.2019, 15:44
Medn, через handle окна вы можете закрыть только окно. Посмотрите приложения которые показывают окна и сами приложения в системе. от этого уже можно будет плясать. но без winapi тут все равно никуда не уйти.
0
 Аватар для v_svitere
774 / 423 / 137
Регистрация: 03.06.2009
Сообщений: 1,223
Записей в блоге: 4
22.03.2019, 17:05
Andreyip,
через handle окна вы можете закрыть только окно
Это спорное высказывание.
Зная handle главного окна, можно узнать процесс, путем фильтрации объектов Process по свойству MainWindowHandle

Добавлено через 5 минут
Medn, Может быть вы зря привязываетесь к Window Caption.
Попробуйте получить нужные объекты win32_process, у данных объектов имеется свойство CommandLine, которое показывает с какими ключами был запущен Exe-образ. Вполне вероятно вы сможете дифференцировать ваши процессы таким образом.
0
0 / 0 / 0
Регистрация: 24.02.2019
Сообщений: 7
22.03.2019, 21:54  [ТС]
v_svitere, я попытался сделать через handle, все равно закрываются оба, видел функцию CloseHandle, тоже попытался использовать, но она не дала результата вовсе(не закрыла ни одно окно)
0
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
23.03.2019, 16:59
Цитата Сообщение от v_svitere Посмотреть сообщение
Зная handle главного окна, можно узнать процесс, путем фильтрации объектов Process по свойству MainWindowHandle
этим вы узнаете только какое окно активно на данный момент у процесса, если у процесса открыта 2 окна это конечно убьет процесс вместе с 2-мя окнами. Так что утверждение это не спорное. Зная handle окна можно закрыть только это самое окно.
Можно еще вызвать enumprocwindow и узнать есть ли данное окно у данного процесса но нам оно все равно ничего не даст, потому что мы уже знаем что это окно принадлежит процессу.
0
 Аватар для v_svitere
774 / 423 / 137
Регистрация: 03.06.2009
Сообщений: 1,223
Записей в блоге: 4
25.03.2019, 11:06
Andreyip,
этим вы узнаете только какое окно активно на данный момент у процесса
Да, вы правы.

Я не совсем разобрался сколько в итоге процессов 1 или 2. Если процесс 1, а окон несколько, то как вы ранее уже сказали, тут WINAPI-решение, например FindWindowExA и SendMessage/Postmessage.
Если процесса 2, то можно попробовать то, что я написал в своем предыдущем посте.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.03.2019, 11:06
Помогаю со студенческими работами здесь

Закрытие процесса после всех действий
Закрытие процесса после всех действий. Как осуществить?

Глобальный файловый хук WinAPI для конкретного процесса
Нужен пример реализации файлового хука, который будет ловить функции ReadFile, OpenFile, WriteFile и т.д. Можно в виде Dll или чего угодно....

Закрытие процесса по имени образа
Здравствуйте! Необходимо закрыть процесс через имя образа. Искал в гугле нашел только закрытие через описание. Тобишь нужно закрыть...

Как отследить закрытие процесса?
Подскажите пожалуйста, как в C# отслеживать процессы.

Закрытие процесса запущенного программой
Возникло 2 проблемки, собственно нужно запустить справку и при закрытии программы если справка открыта ее тоже закрыть, я делаю таким...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru