Имя: Пароль:
IT
Админ
Как запретить запуск программы более 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
Вроде нашел программку
http://s0m.narod.ru/s0m.html

Мало ли кому пригодится.
22 Mihenius
 
15.01.14
✎
23:01
(20)
Не все так просто.
На том же ПК еще стоит другой рентген для панорамных снимков, ему 7-ка нужна )

Глючит по сетке у врачей, на "типо сервере" куда все датчики подключены все нормально.

Как по сетке на 1 машине запускают 2 окно, в момент обращения к БД, происходит косяк. Хотя если запустить хоть 10 сеансов с разных машин, никаких проблем нет

Да понятно, что готового ничего нет.
Скрипты, батники в руки и вперед )
23 Torquader
 
16.01.14
✎
11:12
(22) Значит, программа использует прямой доступ к видео для отображения снимков, а два прямых доступа не проходят.
Но, сия фигня и в XP точно также "работает".
Закон Брукера: Даже маленькая практика стоит большой теории.