Запрет запуска нескольких копий программы (не боян)

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Запрет запуска нескольких копий программы (не боян)

Сообщение Antonariy » 10.09.2008 (Ср) 14:41

В программе реализована привязка к железу, одна лицензия — один компьютер. Обходят это дело так: ставят программу на сервер 2003, организуют на нем удаленный рабочий стол, пользователи подключаются, получают индивидуальные столы и каждый у себя запускает отдельную копию программы. Как это можно пресечь? Я так понимаю, искать процесс бессмысленно, каждый рабочий стол исполняется в изолированном участке памяти.

ADD: Хотя решение уже нашел, причем такое же надежное и примитивное, как лом в дверной ручке, удалять пост не буду. :) Общественность должна знать о фишке с удаленными столами.
Лучший способ понять что-то самому — объяснить это другому.

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Re: Запрет запуска нескольких копий программы (не боян)

Сообщение ANDLL » 10.09.2008 (Ср) 14:55

А тайный метод состоит в проверке IP-адреса удаленного компьютера(в локальной сессии его нет) или нечто более извращенное?
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: Запрет запуска нескольких копий программы (не боян)

Сообщение Antonariy » 10.09.2008 (Ср) 15:04

Нет, достаточно заблокировать системный ресурс первой копией, например занять определенный порт. Но на это будут ругаться брандмауэры. Лучше просто создать файл в папке с программой и держать его открытым.
Лучший способ понять что-то самому — объяснить это другому.

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Re: Запрет запуска нескольких копий программы (не боян)

Сообщение ANDLL » 10.09.2008 (Ср) 15:06

Antonariy писал(а):Нет, достаточно заблокировать системный ресурс первой копией, например занять определенный порт. Но на это будут ругаться брандмауэры. Лучше просто создать файл в папке с программой и держать его открытым.

Фу какой кошмар)
А как же клятва бравого программиста ничего не писать в папку с программой?
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: Запрет запуска нескольких копий программы (не боян)

Сообщение Antonariy » 10.09.2008 (Ср) 15:21

Не помню, чтобы я ее давал) А так же ее не давали антивирусники, адиэснеги и прочие всякие, использующие файловые бд. Как же в них не писать?
Пользовательские папки не подойдут, потому что можно наделать кучу пользователей. Системные — совсем не комильфо, хотя многие сорят логами в папке Windows. Самый демократичный вариант остается Program Files\Common Files. :)

Лучше конечно не файл, а какой-нибудь системный хендл, который и для всех сессий един, и защитным ПО не мониторится.
Лучший способ понять что-то самому — объяснить это другому.

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Re: Запрет запуска нескольких копий программы (не боян)

Сообщение ANDLL » 10.09.2008 (Ср) 15:32

Antonariy писал(а):Не помню, чтобы я ее давал) А так же ее не давали антивирусники, адиэснеги и прочие всякие, использующие файловые бд. Как же в них не писать?

Ну если речь идет о программах-сервисах(вроде антивирусов) то да. Что такое адиэснеги я не знаю если честно))
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: Запрет запуска нескольких копий программы (не боян)

Сообщение Antonariy » 10.09.2008 (Ср) 16:20

ANDLL писал(а):Что такое адиэснеги я не знаю если честно))
1С.
Лучший способ понять что-то самому — объяснить это другому.

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Re: Запрет запуска нескольких копий программы (не боян)

Сообщение Proxy » 10.09.2008 (Ср) 18:41

А как же клятва бравого программиста ничего не писать в папку с программой?

А это уже в холивары. Тут уж много расхожих мнений найдётся.
А насчёт привязки к железу: чем реализовывал? Переменные среды? Номера железа? Конфигурация железа?
Могу сказать одно, что привязка должна предполагать частичную смену устройств. Если я например поменяю погоревшую девайсину из компа, то это не значит, что я должен лишиться лицензии. Ну или прибегать к контакту с разработчиком. Из небольшого опыта могу сказать, что стоит держать хотя бы три привязки к разным узлам ПК. (кстати смена ОС тоже не делает ПК "другим" для лицензии. Это всё тот же ПК). И ПК будет тем же ПК, покуда по крайней мере две из трёх привязок будут совпадать. Ну это так, намётки на будущее.
Follow the white rabbit.

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Re: Запрет запуска нескольких копий программы (не боян)

Сообщение Sebas » 10.09.2008 (Ср) 23:51

Proxy писал(а):
А как же клятва бравого программиста ничего не писать в папку с программой?

А это уже в холивары. Тут уж много расхожих мнений найдётся.
А насчёт привязки к железу: чем реализовывал? Переменные среды? Номера железа? Конфигурация железа?
Могу сказать одно, что привязка должна предполагать частичную смену устройств. Если я например поменяю погоревшую девайсину из компа, то это не значит, что я должен лишиться лицензии. Ну или прибегать к контакту с разработчиком. Из небольшого опыта могу сказать, что стоит держать хотя бы три привязки к разным узлам ПК. (кстати смена ОС тоже не делает ПК "другим" для лицензии. Это всё тот же ПК). И ПК будет тем же ПК, покуда по крайней мере две из трёх привязок будут совпадать. Ну это так, намётки на будущее.


Выставляю на обозрение ещё одного "космического" юзера!

//А это уже в холивары. Тут уж много расхожих мнений найдётся.
Вы не на кроватка.ру мнения собирали?

//А насчёт привязки к железу: чем реализовывал? Переменные среды? Номера железа? Конфигурация железа?
речь о запуске 2 копии? *где смайл из квипа))))

по-мойму он темой ошибся)))))

РеЙ!!!! Ты где? !!!!! нужен твой слоган))))
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Re: Запрет запуска нескольких копий программы (не боян)

Сообщение Proxy » 11.09.2008 (Чт) 4:16

Вот собственно про привязку
В программе реализована привязка к железу, одна лицензия — один компьютер.


ничего не писать в папку с программой

Доводов в пользу хранения динамических данных в папке с программой могу тоже привести немало. Потребо?
Follow the white rabbit.

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Re: Запрет запуска нескольких копий программы (не боян)

Сообщение Sebas » 11.09.2008 (Чт) 8:31

2Antonariy

Можно создать IPC канал на определённом порту. В NET это просто. в VB6 API разбирать. И прав больших требовать не будет.
А вариант с мьютексам не пашет данном случае?
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: Запрет запуска нескольких копий программы (не боян)

Сообщение Antonariy » 11.09.2008 (Чт) 9:00

А насчёт привязки к железу: чем реализовывал?
Серийник винта.
А вариант с мьютексам не пашет данном случае?
Дык это проверять же надо, а я даже не вполне представляю, что это за звери :)
Лучший способ понять что-то самому — объяснить это другому.

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Запрет запуска нескольких копий программы (не боян)

Сообщение Williams » 12.09.2008 (Пт) 23:59

Antonariy писал(а):Серийник винта.

Серийник парманентный, или тот, что при форматировании присваивается? Если первый вариант, то поделись кодом :)
И вы думаете, что вас оставят в живых после прочтения этого поста?

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: Запрет запуска нескольких копий программы (не боян)

Сообщение Antonariy » 13.09.2008 (Сб) 12:13

Тот, что при форматировании, называется серийный номер тома. У меня "перманентный".
viewtopic.php?t=35387
Лучший способ понять что-то самому — объяснить это другому.

Matew
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 894
Зарегистрирован: 28.06.2004 (Пн) 17:44
Откуда: Дальний Восток, г. Ха

Re: Запрет запуска нескольких копий программы (не боян)

Сообщение Matew » 14.09.2008 (Вс) 8:44

Нет, достаточно заблокировать системный ресурс первой копией, например занять определенный порт. Но на это будут ругаться брандмауэры. Лучше просто создать файл в папке с программой и держать его открытым.

А если сделают несколько копий программы на одном винте? Вариант с файлом не подойдет :)
Алкоголь и сканеры-ваши враги! Не верите-смотрите аватару :-)

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Запрет запуска нескольких копий программы (не боян)

Сообщение Williams » 16.09.2008 (Вт) 2:50

Antonariy писал(а):Тот, что при форматировании, называется серийный номер тома. У меня "перманентный".
viewtopic.php?t=35387


Метод требует админских прав, кто-нибудь мне объяснит как это работает: http://www.devlib.net/getdiskserial.htm ?
Not require administrator rights in Win NT/2000/XP !

Здесь явно не WMI
И вы думаете, что вас оставят в живых после прочтения этого поста?

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Re: Запрет запуска нескольких копий программы (не боян)

Сообщение tyomitch » 19.09.2008 (Пт) 20:55

Antonariy писал(а):
А вариант с мьютексам не пашет данном случае?
Дык это проверять же надо, а я даже не вполне представляю, что это за звери :)

Насколько помню, глобальный мутекс не создать без админских прав.

Чище было бы не создавать новый файл в папке с программой (тоже проблемы с правами), а открывать какой-нибудь существующий для эксклюзивного чтения. Должно было бы сработать.
Изображение

kibernetics
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 945
Зарегистрирован: 03.05.2006 (Ср) 13:31
Откуда: Minsk

Re: Запрет запуска нескольких копий программы (не боян)

Сообщение kibernetics » 30.09.2008 (Вт) 10:16

Мутекс помогает.
Права админа не требуются


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 3

    TopList