Как запретить запуск программы более 1 раза? #694754


#0 by Mihenius
Вопрос в теме. Не могу найти никакой утилитки.
#1 by Apokalipsec
В настройках пользователя - "запретить открытие нескольких сеансов".
#2 by Волшебник
Запуск программы сделай через ярлык. При запуске скриптом проверяй рабочие процессы в памяти.
#3 by Mihenius
программа запускается локально. тоже так думал, но вдруг где есть небольшая утилитка или политика в винде.
#4 by oleg_km
Нет, обычно это делается в самой программе: или через поиск главного окна или созданием именованного объекта ядра.
#5 by France
А для чего натуги может легче найдется путь колись
#6 by Ненавижу 1С
накуа?
#7 by Dmitry1c
гугли Singleton
#8 by Обработка
А если у него несколько  баз?
#9 by Jackman
Если речь идет про одну базу - проверяй при попытке входа, есть ли уже такой пользователь в базе, если есть - не пускать.
#10 by Волшебник
А почему ты решил, что речь вообще про 1С?
#11 by NS
Создай файл в темпе, и открой его на запись.
#12 by SergeyKB
OpenMutex / CreateMutex
#13 by Обработка
Пардон...
#14 by DirecTwiX
Мьютексы. В гугле куча примеров
#15 by Koala
...и однажды, после внезапного некорректного завершения программы, лови от пользователей кучу баг-репортов... Имхо, проверять наличие в базе текущего пользователя - наилучший вариант. Если речь об 1С, конечно.
#16 by Torquader
И в чём проблема - процесс открывает файл на запись, другой процесс его открыть на запись не может, пока процесс не завершится или не закроет файл. У меня половина сценариев на VbScript через этот механизм стартует и синхронизируется, и ещё ничего не упало и не сглючило. Ещё лучше, но нужно вызывать функции Windows API и не всем программам доступно.
#17 by NS
и что произойдет после неккоретного завершения программы из-за открытого на запись файла?
#18 by Mihenius
Спасибо всем кто ответил. Программа к 1с никакого отношения не имеет ) Это ПО к рентген аппарату стоматологическому, она итальянско-немецкая. В мск ее с горем пополам, видимо еще с помощью промта перевели. Но вот беда если за 1 компом запустить 2 сеанса, то сервер падает в синий экран ))) или виснет наглухо. Соответственно в мск ни сном не духом, пишут только что программа написана для win xp/2003, у вас 7-ка - поэтому и проблемы.
#19 by Mihenius
Стоматологов, особенно в возрасте, убедить, что нельзя запускать 2-й раз не получается. Остался вариант закрыть такую возможность программно. Ждать пока контора из мск получит ответа на багрепорт от производителя можно очень долго, если они его зарегистрировали.
#20 by Torquader
Она датчик по USB открывает монопольно, а драйвер написан без блокировок - соответственно - два одномоментных вызова и память драйвера вместе с системой - коту под хвост. Поставьте Xp по downgrade, если можно. P.S. если окно имеет стандартный заголовок, то можно из сценария его поискать, и запускать только в том случае, если оно запущено. Также VbScript позволит следить, а не завершился ли процесс.
#21 by Mihenius
Вроде нашел программку Мало ли кому пригодится.
#22 by Mihenius
Не все так просто. На том же ПК еще стоит другой рентген для панорамных снимков, ему 7-ка нужна ) Глючит по сетке у врачей, на "типо сервере" куда все датчики подключены все нормально. Как по сетке на 1 машине запускают 2 окно, в момент обращения к БД, происходит косяк. Хотя если запустить хоть 10 сеансов с разных машин, никаких проблем нет Да понятно, что готового ничего нет. Скрипты, батники в руки и вперед )
#23 by Torquader
Значит, программа использует прямой доступ к видео для отображения снимков, а два прямых доступа не проходят. Но, сия фигня и в XP точно также "работает".
Тэги: Админ
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С