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

Может кто ни будь знает,
как можно точно идентифицировать компьютер из обычной, пользовательской программки (может какие ни будь API функции есть ....).
...
Рейтинг: 0 / 0
Как привязать программу к компьютеру ...
    #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
Как привязать программу к компьютеру ...
    #32414965
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Senin Viktor

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

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

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

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

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

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

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

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

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

2 Hibernate

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

А побольше о этом.
...
Рейтинг: 0 / 0
Как привязать программу к компьютеру ...
    #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
Как привязать программу к компьютеру ...
    #32415503
АлексейЕ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eternal
Ну так брось комментарий по той же ссылке. Для других.
Сам проверял на нескольких компах, ну очень разных.
Так что ID был разный.
...
Рейтинг: 0 / 0
Как привязать программу к компьютеру ...
    #32415527
vist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть известная API - GetComputerName Возвращает сетевое имя компьютера
...
Рейтинг: 0 / 0
Как привязать программу к компьютеру ...
    #32416937
Hibernate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>- привязка юзеров к техподдержке, без которой прога не имеет никакой ценности

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

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

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

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

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

(номер ошибки не помню)
...
Рейтинг: 0 / 0
Как привязать программу к компьютеру ...
    #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
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как привязать программу к компьютеру ...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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