Аватар для -MefistofeL-
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
.NET 4.x

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

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

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

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

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

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

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

36
 Аватар для -MefistofeL-
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
07.09.2010, 15:31  [ТС]
Студворк — интернет-сервис помощи студентам
мм... в процессе дескриптор окна равен 0 а его заголовок ""
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8729 / 3681 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
07.09.2010, 15:38
Такого быть не может, иначе окно не существует. В таком случае кроме как искать процесс ничего не остается... почти, можно поискать какие нибудь особенности нужного процесса, и по ним искать.
0
 Аватар для -MefistofeL-
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
07.09.2010, 15:41  [ТС]
ну то окошко скрывается Form.Hide()
а вот про процесс... есть ли какие-нибудь поля что-ли, информация одним словом, которую можно изменить извне?
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8729 / 3681 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
07.09.2010, 15:43
Так приложение твоё? Если оно скрывается, то его дескриптор 200% существует. Искать можно по всему что захочется, выбор за тобой.
0
 Аватар для -MefistofeL-
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
07.09.2010, 15:44  [ТС]
ну я хз... процесс мне говорить что у MainWindow дескриптор равен 0
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8729 / 3681 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
07.09.2010, 15:45
Какой "процесс"? Ищи с помощью Spy++. Вообще, что за приложение (ссылка, описание)?
0
 Аватар для -MefistofeL-
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
07.09.2010, 15:48  [ТС]
нет.. блин
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
static void Main()
        {
            SingleInstatce SI = new SingleInstatce();
            if (SI.FirstInstance)
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new Options());
            }
            else
            {
                Process[] proceses = Process.GetProcessesByName(ProcName);
                foreach (Process proc in proceses)
                {
                    if (proc.Id != Process.GetCurrentProcess().Id)   // <==== Вот здесь у proc MainWindowHandle  0
                    {
                        
                        
                        //ApiClass.SendMessage(proc.MainWindowHandle, ApiClass.WM_SHOWWINDOW, IntPtr.Zero,IntPtr.Zero);
                    }
                }
            }
 
            
        }
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8729 / 3681 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
07.09.2010, 15:50
Ищи окна с помощью FindWindow(Ex) или EnumWindows(EnumChildWindows) или GetWindow.
Это API функции. Так ты получишь хендл, и сможешь найти окно которое тебе надо. Как ты будешь проверять, то это окно или нет - выбор за тобой.
1
 Аватар для -MefistofeL-
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
07.09.2010, 15:50  [ТС]
описание:
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8729 / 3681 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
07.09.2010, 15:57
И что требуется?
0
 Аватар для -MefistofeL-
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
07.09.2010, 15:58  [ТС]
да просто так для себя пишу, шоб исходники на флешку переодически бэкаписть
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8729 / 3681 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
07.09.2010, 16:12
Ну так, что требуется то? А то я уже путаюсь, что ты хочешь получить в конечном счете.
0
 Аватар для -MefistofeL-
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
07.09.2010, 16:24  [ТС]
смотри. к юзеру попадает моя прога. в первый раз у него открывается окошко, в котором он указывает папку с важными файлами, папку назначения бэкапа, интервал, нажимает эксепт. тогда окошко скрывается и начинается невидимый бэкап. и в последующие разы при первом запуске окошко не вылезает, а бэкап начинается сразу. но если юзер запустит за одну сессию прогу дважды, то на второй раз вылезет опять это окошко с настройками. усек?

Добавлено через 7 минут
вот! Все получилось, спс)) слушай, а не знаешь, где можно класс окна изменить?)
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8729 / 3681 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
07.09.2010, 16:27
Ну так используй мьютекс!? Если у тебя уже запущено приложение, то открывай настройки заново. В чём проблема, то.
Судя по тому, что ты написал передавать в другое приложение тебе ничего не надо.
0
 Аватар для -MefistofeL-
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
07.09.2010, 16:28  [ТС]
не.. настройки в приложении самом)) там просто свернутое окошко))
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8729 / 3681 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
07.09.2010, 16:30
Цитата Сообщение от -MefistofeL- Посмотреть сообщение
где можно класс окна изменить?)
Нигде и никак. Для этого нужно создавать своё окно с помощью API и всё делать ручками.
0
 Аватар для -MefistofeL-
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
07.09.2010, 16:37  [ТС]
ндааам))) один из минусов CS и MFC
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.09.2010, 16:37

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
37
Ответ Создать тему
Опции темы

Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru