Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Как можно предотвратить запуск сразу нескольких копий одной программы???

Ответить
Настройки темы
[решено] Как можно предотвратить запуск сразу нескольких копий одной программы???

Аватара для sashadeg

Старожил


Сообщения: 379
Благодарности: 6

Профиль | Отправить PM | Цитировать


Вопрос изложен в названии темы

Отправлено: 17:07, 23-03-2009

 

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Ответ изложен в справке...

См. _SingleTon()

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:35, 23-03-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Аватара для morgan1991

Старожил


Сообщения: 398
Благодарности: 13

Профиль | Сайт | Отправить PM | Цитировать


Creat0R, вот нарыл в справке:
Код: Выделить весь код
#include "Misc.au3"
if _Singleton("test\test",1) = 0 Then
    Msgbox(0,"Warning","An occurence of test is already running")
    Exit
EndIf
Msgbox(0,"OK","the first occurence of test is running")
Не поможете разобраться? А то я ни чего не понял.

-------
Хочу научиться писать драйвера на с++

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:28, 31-03-2009 | #3


Аватара для proxy

Старожил


Сообщения: 460
Благодарности: 152

Профиль | Отправить PM | Цитировать


Функция _Singleton обращается к dll windows kernel32.dll и создает в памяти как бы метку
для порграммы с тектом "test\test".

При повторном запуске скрипта _Singleton снова создает метку
и выясняется, что такова уже есть.

Получив отказ, _Singleton обижается и возвращает нолик.

Сооственно If информирует Вас Msgbox-ом и далее закрывает
вторично запущенный скрипт... )

-------
Мысли-читатель сломался, может подробней расскажите?
А где исходный код? Или мы стихи обсуждаем?! )) Настройки темы > Решено ?

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:33, 31-03-2009 | #4


Аватара для morgan1991

Старожил


Сообщения: 398
Благодарности: 13

Профиль | Сайт | Отправить PM | Цитировать


Значит у меня чтото не так? Этот скрипт у меня всё время функция возвращает 0 выдаёт:
Цитата morgan1991:
Msgbox(0,"Warning","An occurence of test is already running") »

-------
Хочу научиться писать драйвера на с++

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:46, 31-03-2009 | #5


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата morgan1991:
Этот скрипт у меня всё время выдаёт »
Странно... а в процессах нет AutoIt3.exe от первых запусков?

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:51, 31-03-2009 | #6


Аватара для morgan1991

Старожил


Сообщения: 398
Благодарности: 13

Профиль | Сайт | Отправить PM | Цитировать


Цитата Creat0R:
а в процессах нет AutoIt3.exe от первых запусков? »
нету, зато я заметил если заменить _Singleton("test\test",1) на _Singleton("kjgfkjgg",1) то всё работает.

-------
Хочу научиться писать драйвера на с++

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:56, 31-03-2009 | #7


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата morgan1991:
если заменить _Singleton("test\test",1) на _Singleton("kjgfkjgg",1) то всё работает »
Значит есть уже подобная инстанция (test\test), после перезапуска системы должен и тот пример работать.

Вообще можно так использовать: _Singleton(@ScriptName, 1)
Но это привязка к имени скрипта (т.е если переименовать скрипт, то повторная копия будет запущена).

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:21, 01-04-2009 | #8


Аватара для proxy

Старожил


Сообщения: 460
Благодарности: 152

Профиль | Отправить PM | Цитировать


...иль так:

Код: Выделить весь код
#region: - Global: Название и версия программы, ProID
    Global  $sProName, $sProVerNO, $sProVer, $sProNameVer, $sProIDText
            $sProName     = 'Test'
            $sProVerNO    = '0.1'
            $sProVer      = 'v' & $sProVerNO
            $sProNameVer  = $sProName & ' ' & $sProVer
            $sProIDText   = $sProNameVer & ' [ID] ' & $sProNameVer
#endregion

#region: - Одна копия программы
    If $YesSingleton == 1 AND _Singleton($sProIDText, 1) == 0 Then _Pro_Exit()
#endregion

Func _Pro_Exit()
    Exit
EndFunc

-------
Мысли-читатель сломался, может подробней расскажите?
А где исходный код? Или мы стихи обсуждаем?! )) Настройки темы > Решено ?

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:51, 01-04-2009 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Как можно предотвратить запуск сразу нескольких копий одной программы???

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Как запретить запуск двух и более копий 1С8 ragnar40 Хочу все знать 33 11-05-2018 14:02
[решено] Предотвратить повторный запуск w3d1 AutoIt 4 19-09-2009 01:15
запуск более одной программы из autorun.inf Gennie Хочу все знать 7 03-09-2009 12:38
Разное - Запуск нескольких копий Программы просмотра изображений и факсов Dabaduch Microsoft Windows 2000/XP 1 09-03-2009 17:34
запуск нескольких копий одной программы через командную строку XqlpX Хочу все знать 3 19-11-2008 13:48




 
Переход