Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как узнать, сколько копий приложения запущенно?


Страницы:   1 2

тКнопка ©   (2008-04-10 23:53:00) 

Как узнать, сколько копий приложения работает в данный момент времени?


Leonid Troyanovsky   (2008-04-13 10:33:00) [1]


> Семеныч   (12.04.08 22:19) [33]

> Тогда плохо. Тогда придется прочесть ветку. Ну пусть не
> всю, но хотя бы [0] и [17]

Дык, все равно, непонятно, зачем каждый раз создавать-удалять папку.

А файлы можно создать with FILE_ATTRIBUTE_TEMPORARY & FILE_FLAG_DELETE_ON_CLOSE - FAF.

--
Regards, LVT.


Семеныч   (2008-04-12 22:19:00) [2]

> clickmaker ©   (12.04.08 19:06) [32]

Тогда плохо. Тогда придется прочесть ветку. Ну пусть не всю, но хотя бы [0] и [17]


clickmaker   (2008-04-12 19:06:00) [3]

> [25] Семеныч   (11.04.08 14:26)

а если не нужна проге папка?


Германн   (2008-04-12 01:05:00) [4]


> Loginov Dmitry ©   (11.04.08 23:04) [30]


> Удаляй временную папку при старте первого экземпляра. Это
> гораздо проще.
>

И не проще (судя по сабжу) и неверно по сути.


Loginov Dmitry   (2008-04-11 23:04:00) [5]

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


Удаляй временную папку при старте первого экземпляра. Это гораздо проще.


Efir   (2008-04-11 20:34:00) [6]

Можно еще использовать мьютексы.


тКнопка   (2008-04-11 19:57:00) [7]


> KSergey ©   (11.04.08 07:44) [22]
> Для енумерации процессов у пользователя из под которого
> запущена прога может банально не хватить прав. А работать
> под админом - зло.


Это что значит, EnumProcesses или Process32First/Next не подойдет?


{RASkov}   (2008-04-11 19:44:00) [8]

> [26] тКнопка   (11.04.08 19:41)

Ctrl+F ищи и подключай необходимые модули... так же просто F1 может помочь...


тКнопка   (2008-04-11 19:41:00) [9]


> clickmaker ©   (11.04.08 11:41) [24]
> EnumProcesses или Process32First/Next


[Pascal Error] Unit3.pas(29): E2003 Undeclared identifier: 'Process32First'

[Pascal Error] Unit3.pas(30): E2003 Undeclared identifier: 'EnumProcesses'


Семеныч   (2008-04-11 14:26:00) [10]

Кошмар.

И ведь всего-то надо, чтобы программа держала папку открытой, а перед завершением закрывала и удаляла. Типа "не удалилась - значит, ее еще кто-то держит, да и ладно".

И никаких копий вообще определять не нужно.


clickmaker   (2008-04-11 11:41:00) [11]

EnumProcesses или Process32First/Next


тКнопка   (2008-04-11 08:15:00) [12]

EnumWindows подойдет?


KSergey   (2008-04-11 07:44:00) [13]

Для енумерации процессов у пользователя из под которого запущена прога может банально не хватить прав. А работать под админом - зло.


Германн   (2008-04-11 04:07:00) [14]


> тКнопка   (11.04.08 03:38) [20]
>
> Упс, ошибка, "временная папка".
>
> А если электричество выключат

А если электричество выключат, Это уже не твоя забота, если твоя задача не разработка "системы жизнеобеспечения"!


тКнопка   (2008-04-11 03:38:00) [15]

Упс, ошибка, "временная папка".

А если электричество выключат, ведь счетчики останутся? И там еще предусмотренно аварийное востановление. и т.д. ...

Вобщем, я решил остановиться на EnumWindows! Так можно? Дайте код! :)


Andy BitOff   (2008-04-11 03:16:00) [16]

> тКнопка   (11.04.08 02:59) [17]

Сделай проще. Создай в этой "попке" файл а в нем счетчик и будет у тебя программа завершаться через проверку попки =)))


Германн   (2008-04-11 03:08:00) [17]


> тКнопка   (11.04.08 02:59) [17]
>
> Уточню. Задача такая: при закрытии программы, нужно проверить,
>  если больше нет запущенных копий программы, то нужно удалить
> временную попку и все ее соджержание.
>

Эээ. Если не обращать внимание на "некую скабрезность вопроса", то чем не устраивают ответ [1]?


тКнопка   (2008-04-11 02:59:00) [18]

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


Германн   (2008-04-11 02:55:00) [19]


> Германн ©   (11.04.08 02:53) [15]
>
>
> > Riply ©   (11.04.08 02:40) [14]
>
> Саш. Дай ему код. Но в "черновике". Пусть поймёт всю сложность
> задачи.
>

Не. Не так сформулировал.
Дай ему код в "наброске".


Германн   (2008-04-11 02:53:00) [20]


> Riply ©   (11.04.08 02:40) [14]

Саш. Дай ему код. Но в "черновике". Пусть поймёт всю сложность задачи.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо