Форум программистов, компьютерный форум, киберфорум
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. Показов 3643. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml, в чате форсили функторы модулей как суперфичу. Пытаясь отдуплить концепт, наткнулся на тутор с простым примером. А главный принцип обучения от. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru