powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проверить, не запущена ли уже программа.
9 сообщений из 9, страница 1 из 1
Проверить, не запущена ли уже программа.
    #33768380
StandD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!
Народ, подскажите, как это сделать!
...
Рейтинг: 0 / 0
Проверить, не запущена ли уже программа.
    #33768388
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://forum.foxclub.ru/read.php?32,177252,177252#msg-177252
...
Рейтинг: 0 / 0
Проверить, не запущена ли уже программа.
    #33768406
StandD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PaulWisthttp://forum.foxclub.ru/read.php?32,177252,177252#msg-177252

Благодарю!
...
Рейтинг: 0 / 0
Проверить, не запущена ли уже программа.
    #33769118
StandD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Посмотрел...
А нельзя ли попроще и понадежней?
Например, на локальном компьютере программа открывает какой-нибудь файл экслюзивно. Естественно, при выходе из программы (любом - нормальном или аварийном), файл закрывается. Так нельзя ли при повторном запуске программа, пытаясь открыть этот же файл, ушла бы со второго круга?
...
Рейтинг: 0 / 0
Проверить, не запущена ли уже программа.
    #33769291
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StandDПосмотрел...
А нельзя ли попроще и понадежней?
Например, на локальном компьютере программа открывает какой-нибудь файл экслюзивно. Естественно, при выходе из программы (любом - нормальном или аварийном), файл закрывается. Так нельзя ли при повторном запуске программа, пытаясь открыть этот же файл, ушла бы со второго круга?

Ответ зависит от того, что именно Вы вкладываете в понятие "повторный запуск приложения". Может быть достаточно много вариантов. Например:

Запуск одного и того же приложения на одном компьютере вне зависимости от логина пользователя

Запуск одного и того же приложения на одном компьютере из одной сессии в терминальном режиме

Запуск одного и того же приложения с разных компьютеров с логином одного пользователя

Работа с базой данных из разных приложений, но с логином одного

Можно придумать еще самые разные толкования термина "повторный запуск приложения".
...
Рейтинг: 0 / 0
Проверить, не запущена ли уже программа.
    #33769310
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StandDПосмотрел...
А нельзя ли попроще и понадежней?

Код: plaintext
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.
* проверяем наличие предыдущей копии программы в памяти
IF AppAlreadyRunning()
  =MESSAGEBOX("Вы конечно извините, но запустить данную программу "+ ;
  "можно только один раз...",  0  +  16  + 0 , ;
  "Ошибка в течении старта программы")
  QUIT
ENDIF





* функция избежания повтороного запуска программы
FUNCTION AppAlreadyRunning
LOCAL hsem, lpszSemName
#DEFINE ERROR_ALREADY_EXISTS  183 
DECLARE INTEGER GetLastError IN win32API
DECLARE INTEGER CreateSemaphore IN WIN32API ;
  STRING @ lpSemaphoreAttributes, ;
  LONG lInitialCount, ;
  LONG lMaximumCount, ;
  STRING @ lpName
lpszSemName = 'MESCLIENT'
hsem = CreateSemaphore( 0 , 0 , 1 ,lpszSemName)
RETURN (hsem #  0  AND GetLastError() == ERROR_ALREADY_EXISTS)

А здесь описано все приложение

Это только для избежания повторного запуска на одном компьютере...
...
Рейтинг: 0 / 0
Проверить, не запущена ли уже программа.
    #33769399
StandD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо!
Спасибо, задача как раз стояла для запуска на одном компьютере.
...
Рейтинг: 0 / 0
Проверить, не запущена ли уже программа.
    #33770107
oleg_km
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В терминале работать не будет. Вернее будет работать (не даст запускать повторно) в пределах одной сессии
...
Рейтинг: 0 / 0
Проверить, не запущена ли уже программа.
    #33770248
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi oleg_km!

Да без проблем - цитата из MSDN

Terminal Services: The name can have a "Global\" or "Local\" prefix to
explicitly create the object in the global or session name space. The
remainder of the name can contain any character except the backslash
character (\). For more information, see Kernel Object Namespaces.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проверить, не запущена ли уже программа.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]