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

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

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

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

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

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

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

Можно придумать еще самые разные толкования термина "повторный запуск приложения".
...
Рейтинг: 0 / 0
02.06.2006, 16:11
    #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
02.06.2006, 16:25
    #33769399
StandD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверить, не запущена ли уже программа.
Всем спасибо!
Спасибо, задача как раз стояла для запуска на одном компьютере.
...
Рейтинг: 0 / 0
02.06.2006, 22:06
    #33770107
oleg_km
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверить, не запущена ли уже программа.
В терминале работать не будет. Вернее будет работать (не даст запускать повторно) в пределах одной сессии
...
Рейтинг: 0 / 0
03.06.2006, 01:11
    #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
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проверить, не запущена ли уже программа. / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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