Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как привязать программу к компьютеру ... / 15 сообщений из 15, страница 1 из 1
26.09.2003, 19:03
    #32277273
zmeyka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как привязать программу к компьютеру ...
В свое время я сделал dll-ку которая читает память по адресам: 0ffff5h и 0fe000h, тама прописаны дата ROM BIOS и номер компьютера и переправляет его mde файлу - который сравнивает со значением, определенным при инициализации программы.
Но это перестало работать, после того как вышел 2000 Windows, он не дает читать эту память из обычной dll (c 3-го кольца).
Для этого по всей видимости надо делать VxD (c 0-го кольца работать) - но у меня к сожаленью щас на это нету времени.

Может кто ни будь знает,
как можно точно идентифицировать компьютер из обычной, пользовательской программки (может какие ни будь API функции есть ....).
...
Рейтинг: 0 / 0
26.09.2003, 20:22
    #32277318
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как привязать программу к компьютеру ...
API-то есть - возвращает серийный номер жесткого диска. Правда этот номер - вовсе и не номер диска, а номер присаеваемый программой форматирвоания жесткого диска, иногда он может смениться при простой переустановки виндоуса или еще какими операциями с диском

Public Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal
lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long,
lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long

Public Function DriveSerial() As Long
'Считывает серийный номер носителя (диска, на котором размещена программа)

'Определяет, на каком диске программа
Dim sDrv As String
sDrv = Left(CurrentDb.Name, 1)
'Считывает номер
Dim RetVal As Long
Dim str As String * MAX_FILENAME_LEN
Dim str2 As String * MAX_FILENAME_LEN
Dim a As Long
Dim b As Long
Call GetVolumeInformation(sDrv & ":\", str, MAX_FILENAME_LEN, RetVal, a, b, str2, MAX_FILENAME_LEN)
DriveSerial = Abs(RetVal)
End Function
...
Рейтинг: 0 / 0
19.02.2004, 11:59
    #32414965
# Darth Vader #
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как привязать программу к компьютеру ...
2 Senin Viktor

>иногда он может смениться при простой переустановки виндоуса или еще какими операциями с диском

Я сделал защиту программу через серийник.

Вот эти "или еще какими операциями с диском" меня интересуют!
Сменили вид файловой системы , перезарядили Windows , переразбили заново разделы винта , все это смена серийника.

При каких еще операциях с диском может измениться серийник?

Как же тогда поступить , ждать пока юзер позвонит и пожалуется на программу? Дилемма однако
...
Рейтинг: 0 / 0
19.02.2004, 12:56
    #32415122
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как привязать программу к компьютеру ...
только при форматировании
...
Рейтинг: 0 / 0
19.02.2004, 12:57
    #32415125
Hibernate
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как привязать программу к компьютеру ...
как можно точно идентифицировать компьютер из обычной, пользовательской программки

я бы сначала определился как это сделать без программки?
ведь BIOS могут перепрошить, а винт отформатить или заменить.
Выходов более менее нормальных я видел все го два:
- привязка юзеров к техподдержке, без которой прога не имеет никакой ценности
- привязка проги к сериникам всего, чего только можно в компе с "мягким" алгоритмом проверки (тоеть за один прием можно сменить только что-то одно) и ругаться оно на это не будет.
...
Рейтинг: 0 / 0
19.02.2004, 12:58
    #32415133
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как привязать программу к компьютеру ...
речь здесь идет не о серийнике диска а о серийном номере раздела, который задается при форматировании...

предполагаю что серийник можно исправить диск - редактором
...
Рейтинг: 0 / 0
19.02.2004, 13:50
    #32415296
АлексейЕ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как привязать программу к компьютеру ...
...
Рейтинг: 0 / 0
19.02.2004, 13:53
    #32415304
Рыжий Кот
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как привязать программу к компьютеру ...
А я привязывают прогу к mac-адресу сетевой :Р.
(Если у заказчика нет на машине сетевой, то это горе-заказчик)

...
Рейтинг: 0 / 0
19.02.2004, 13:59
    #32415329
# Darth Vader #
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как привязать программу к компьютеру ...
АлексейК прав имеется ввиду серийный номер раздела. Программа на том же винте но в другом разделе работать не будет.

Юзеры определят серийник раздела С и мне его сообщат. Я вошью серийник в код VBA и наилучшими пожеланиями отдам прогу юзерам . И просто предупрежу, что при сносе системы, изменении файловой системы и установке другого виндоуса программа работать не будет. И в хелпе тоже самое укажу. И тогда перед всякими действиями "изменения " серийника я беру данные из программы и сливаю в версию с другим серийником. Конечно , здесь могут быть проблемы, но цель одна запретить работу программы на других компах.

2 Hibernate

>- привязка юзеров к техподдержке, без которой прога не имеет никакой ценности

А побольше о этом.
...
Рейтинг: 0 / 0
19.02.2004, 14:16
    #32415395
# Darth Vader #
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как привязать программу к компьютеру ...
2 АлексейЕ

Public Sub SpecificationsProcessor()
Dim strComputer As String
Dim objWMIService As Object, colProcessor As Object, objProcessor As Object

strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessor = objWMIService.ExecQuery("SELECT * FROM Win32_Processor")
For Each objProcessor In colProcessor
Debug.Print "ProcessorId: " & objProcessor.ProcessorId
Next
End Sub

Эта функция в Win9X пахать будет?

Интересно. Попробовал.
У нас в отделе компы абсолютно одинаковые (по железному ). Испробовал эту функцию на разных компах. Результат одинаковый. Один и тот же ID выдал.
Такой вот BFEBFBFF00000F29
Наверное имеется ввиду здесь уровень камешка?
...
Рейтинг: 0 / 0
19.02.2004, 14:57
    #32415503
АлексейЕ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как привязать программу к компьютеру ...
Eternal
Ну так брось комментарий по той же ссылке. Для других.
Сам проверял на нескольких компах, ну очень разных.
Так что ID был разный.
...
Рейтинг: 0 / 0
19.02.2004, 15:10
    #32415527
vist
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как привязать программу к компьютеру ...
Есть известная API - GetComputerName Возвращает сетевое имя компьютера
...
Рейтинг: 0 / 0
20.02.2004, 14:00
    #32416937
Hibernate
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как привязать программу к компьютеру ...
>- привязка юзеров к техподдержке, без которой прога не имеет никакой ценности

А побольше о этом.

этот вариант подходит для прог, в которых либо часто меняются данные либо часто меняются алгоритмы работы.
Тоесть ценность имеет не сама прога, а актуальность ее алгоритмов и данных.

ну а дальше все понятно - пользователь получат прогу совершенно бесплатно, а вот за ее актуальность надо платить.

Вот еще вспомнил - есть еще вариант привязки к персональным данным пользователя. Например (только для объяснения принципа), прога бухгалтерская - тогда она привязывается к определенному юрлицу и его реквизитам. С другими она работать просто не будет, а для конечного пользователя прога с чужими реквизитами просто бесполезна.
...
Рейтинг: 0 / 0
08.03.2004, 12:50
    #32433866
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как привязать программу к компьютеру ...
2АлексейЕ
Попробовал на ВыньХП - ид процессора = "".
На Вин98се - выскочила ошибка при попытке выполнить строку

Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

(номер ошибки не помню)
...
Рейтинг: 0 / 0
08.03.2004, 18:54
    #32433954
АлексейЕ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как привязать программу к компьютеру ...
Geo
Правилно. Ведь по ссылке указано
Интерфейс Windows Management Instrumentation (WMI) 1.5 уже инсталлирован на компьютерах с Windows Me, Windows 2000 и Windows XP как часть ядра операционной системы, но он не относится к числу встроенных компонентов Windows NT 4.0 , Windows 95, Windows 98 (Gold или SE),. Чтобы выполнить сценарии на системе NT 4.0 или Windows 95, нужно установить WMI.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как привязать программу к компьютеру ... / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]