Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.88/16: Рейтинг темы: голосов - 16, средняя оценка - 4.88
 Аватар для -MefistofeL-
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
.NET 4.x

Отлов работающих экземпляров программы.

06.09.2010, 21:59. Показов 3472. Ответов 36

Студворк — интернет-сервис помощи студентам
Мне бы познать технологию, как отловить работающий экземпляр моей программы не по названию процесса, дескриптора окна и т.п. Ну.. так как это делает, например uTorrent.

и еще вопросик. Где взять иконку, для кнопочки, которая вызывает файловый браузер для выбора файла или дириктории?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.09.2010, 21:59
Ответы с готовыми решениями:

Запуск программы и отлов ее завершения
Здраствуйте. Как в C# можно запустить другую программу и подождать ее завершщения без зависания программы?

Синхронизация нескольких экземпляров программы
Ребят, подскажите пожалуйста. В общем есть программа, производящая некие операции в браузере (Awesomium) с раными интервалами времени. Я...

Отлов от программы HWID компа и его подмена
Добрый день. Появилась необходимость отловить у программы каким методом получает HWID и по средствам c# подменить его. Подскажите в каком...

36
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8725 / 3677 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
06.09.2010, 22:01
Вам нужно запускать только одну копию программы? И с чего Вы взяли что uTorrent ищет не по названию процесса?
0
 Аватар для -MefistofeL-
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
06.09.2010, 22:05  [ТС]
переименовывал))

Добавлено через 3 минуты
Да только одна копия. Причем в фоновом режиме, а повторный вызов заставляет ее открыть окошко
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8725 / 3677 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
06.09.2010, 22:14
Посмотрите в этом посте. Для одной копии можно использовать Mutex.
1
 Аватар для -MefistofeL-
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
06.09.2010, 22:20  [ТС]
Огромное спасибо, нашел статейку про мьютекс...
а про иконку не знаешь?
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8725 / 3677 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
06.09.2010, 22:28
Цитата Сообщение от -MefistofeL- Посмотреть сообщение
а про иконку не знаешь?
Не понял, но кажется это контролы OpenFileDialog и SaveFileDialog, FolderBrowseDialog.
0
 Аватар для -MefistofeL-
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
06.09.2010, 22:34  [ТС]
нет нет... эти окошки я знаю... просто обычно в приложениях на кнопочках, которые вызывают эти окошки нарисована иконка (папочка, например). Просто писать "Обзор" вместо красивой иконки - признак плохого тона))
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8725 / 3677 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
06.09.2010, 22:41
Есть такой набор бесплатных иконок fugue icons, там есть иконка с папкой.
1
 Аватар для -MefistofeL-
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
06.09.2010, 22:57  [ТС]
не не не... станадартная видоусовская

Добавлено через 4 минуты
Слушай а вот теперь как сделать так, чтобы вторая копия программы сообщала первой, что она попыталась запуститься?
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8725 / 3677 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
06.09.2010, 23:03
А вот это смотри моё второе сообщение (4й пост в теме). Там такая реализация: если один экземпляр приложения запущен, и запускается второй, то второй передает первой свои параметры командной строки, а первый их обрабатывает.
0
 Аватар для -MefistofeL-
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
07.09.2010, 00:04  [ТС]
опять таки... именно через поток обратиться к процессу можно?
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8725 / 3677 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
07.09.2010, 00:09
Какой поток? О_о У каждого приложения свой поток на исполнение.
0
 Аватар для -MefistofeL-
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
07.09.2010, 00:13  [ТС]
я имею ввиду через мютекс

Добавлено через 53 секунды
в твоем примере ты обращаешься к приложению через имя процесса, а как это через мьютекс сделать?
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8725 / 3677 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
07.09.2010, 00:15
Мьютекс служит только для того что бы определить, запущено приложение или нет (в данном случае).

Грубо говоря это тип данных bool: он либо true, либо false.

Через mutex я определяю, запущен ли экземпляр моего приложения или нет, общение между приложениями происходит по другому.
0
 Аватар для -MefistofeL-
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
07.09.2010, 00:17  [ТС]
ну вполне возможно, однако ты не знаешь способ обращения к первому экземпляру не через имя процесса?
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8725 / 3677 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
07.09.2010, 00:20
Можно искать по загловку, можно по хендлу, по классу окна, можно заносить данные в реестр, использовать общие файлы, и ещё много чего можно
0
 Аватар для -MefistofeL-
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
07.09.2010, 10:53  [ТС]
Вот а как достать класс окна?
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8725 / 3677 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
07.09.2010, 15:25
GetClassName
0
 Аватар для -MefistofeL-
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
07.09.2010, 15:29  [ТС]
нет, не используя дескриптор окна, ибо в этот момент окно спрятано и через процесс до него достучаться почти нельзя...
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8725 / 3677 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
07.09.2010, 15:30
Цитата Сообщение от -MefistofeL- Посмотреть сообщение
в этот момент окно спрятано
И что? В системе почти всё завязано на дескрипторах.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.09.2010, 15:30
Помогаю со студенческими работами здесь

Количество запущенных экземпляров программы
Как в VB6 проверять, запущена уже эта программа или нет? Если экземпляр уже запущен, то активизировать его. Теоретически API FindWiondow и...

Запуск внешней программы и отлов ошибок ее работы
Я запускаю внешнюю программу. Она вылетает по ошибке. Можно отследить появление ошибки, убить программу и запустить её по новой.

Динамический массив экземпляров класса, с неизвестным количеством экземпляров
Доброго времени суток. По ходу работы, программно должны создаваться и удаляться объекты класса. Во всех примерах с дин массивами...

В классе данных определите переменные экземпляров.Значения переменных экземпляров должны быть введены с клавиатуры
В классе данных определите переменные экземпляров.Значения переменных экземпляров должны быть введены с клавиатуры. Как это...

Запуск большого количества экземпляров одной программы с задержкой
всем привет прошу помощи в решении одной нехитрой задачи дано: папка 1111 с большим количеством подпапок с порядковыми номерами 1,...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru