Конференция "Основная" » Как узнать, сколько копий приложения запущенно?
 
  • тКнопка (11.04.08 03:38) [20]
    Упс, ошибка, "временная папка".

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

    Вобщем, я решил остановиться на EnumWindows! Так можно? Дайте код! :)
  • Германн © (11.04.08 04:07) [21]

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

    А если электричество выключат, Это уже не твоя забота, если твоя задача не разработка "системы жизнеобеспечения"!
  • KSergey © (11.04.08 07:44) [22]
    Для енумерации процессов у пользователя из под которого запущена прога может банально не хватить прав. А работать под админом - зло.
  • тКнопка (11.04.08 08:15) [23]
    EnumWindows подойдет?
  • clickmaker © (11.04.08 11:41) [24]
    EnumProcesses или Process32First/Next
  • Семеныч (11.04.08 14:26) [25]
    Кошмар.

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

    И никаких копий вообще определять не нужно.
  • тКнопка (11.04.08 19:41) [26]

    > 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'
  • {RASkov} © (11.04.08 19:44) [27]
    > [26] тКнопка   (11.04.08 19:41)

    Ctrl+F ищи и подключай необходимые модули... так же просто F1 может помочь...
  • тКнопка (11.04.08 19:57) [28]

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


    Это что значит, EnumProcesses или Process32First/Next не подойдет?
  • Efir (11.04.08 20:34) [29]
    Можно еще использовать мьютексы.
  • Loginov Dmitry © (11.04.08 23:04) [30]
    > Уточню. Задача такая: при закрытии программы, нужно проверить,
    > если больше нет запущенных копий программы, то нужно удалить
    > временную попку и все ее соджержание.


    Удаляй временную папку при старте первого экземпляра. Это гораздо проще.
  • Германн © (12.04.08 01:05) [31]

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


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

    И не проще (судя по сабжу) и неверно по сути.
  • clickmaker © (12.04.08 19:06) [32]
    > [25] Семеныч   (11.04.08 14:26)

    а если не нужна проге папка?
  • Семеныч (12.04.08 22:19) [33]
    > clickmaker ©   (12.04.08 19:06) [32]

    Тогда плохо. Тогда придется прочесть ветку. Ну пусть не всю, но хотя бы [0] и [17]
  • Leonid Troyanovsky © (13.04.08 10:33) [34]

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

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

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

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

    --
    Regards, LVT.
 
Конференция "Основная" » Как узнать, сколько копий приложения запущенно?
Есть новые Нет новых   [134487   +1][b:0][p:0.001]