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