|
|
|
Как привязать программу к компьютеру ...
|
|||
|---|---|---|---|
|
#18+
В свое время я сделал dll-ку которая читает память по адресам: 0ffff5h и 0fe000h, тама прописаны дата ROM BIOS и номер компьютера и переправляет его mde файлу - который сравнивает со значением, определенным при инициализации программы. Но это перестало работать, после того как вышел 2000 Windows, он не дает читать эту память из обычной dll (c 3-го кольца). Для этого по всей видимости надо делать VxD (c 0-го кольца работать) - но у меня к сожаленью щас на это нету времени. Может кто ни будь знает, как можно точно идентифицировать компьютер из обычной, пользовательской программки (может какие ни будь API функции есть ....). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2003, 19:03 |
|
||
|
Как привязать программу к компьютеру ...
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2003, 20:22 |
|
||
|
Как привязать программу к компьютеру ...
|
|||
|---|---|---|---|
|
#18+
2 Senin Viktor >иногда он может смениться при простой переустановки виндоуса или еще какими операциями с диском Я сделал защиту программу через серийник. Вот эти "или еще какими операциями с диском" меня интересуют! Сменили вид файловой системы , перезарядили Windows , переразбили заново разделы винта , все это смена серийника. При каких еще операциях с диском может измениться серийник? Как же тогда поступить , ждать пока юзер позвонит и пожалуется на программу? Дилемма однако ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2004, 11:59 |
|
||
|
Как привязать программу к компьютеру ...
|
|||
|---|---|---|---|
|
#18+
только при форматировании ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2004, 12:56 |
|
||
|
Как привязать программу к компьютеру ...
|
|||
|---|---|---|---|
|
#18+
как можно точно идентифицировать компьютер из обычной, пользовательской программки я бы сначала определился как это сделать без программки? ведь BIOS могут перепрошить, а винт отформатить или заменить. Выходов более менее нормальных я видел все го два: - привязка юзеров к техподдержке, без которой прога не имеет никакой ценности - привязка проги к сериникам всего, чего только можно в компе с "мягким" алгоритмом проверки (тоеть за один прием можно сменить только что-то одно) и ругаться оно на это не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2004, 12:57 |
|
||
|
Как привязать программу к компьютеру ...
|
|||
|---|---|---|---|
|
#18+
речь здесь идет не о серийнике диска а о серийном номере раздела, который задается при форматировании... предполагаю что серийник можно исправить диск - редактором ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2004, 12:58 |
|
||
|
Как привязать программу к компьютеру ...
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2004, 13:50 |
|
||
|
Как привязать программу к компьютеру ...
|
|||
|---|---|---|---|
|
#18+
А я привязывают прогу к mac-адресу сетевой :Р. (Если у заказчика нет на машине сетевой, то это горе-заказчик) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2004, 13:53 |
|
||
|
Как привязать программу к компьютеру ...
|
|||
|---|---|---|---|
|
#18+
АлексейК прав имеется ввиду серийный номер раздела. Программа на том же винте но в другом разделе работать не будет. Юзеры определят серийник раздела С и мне его сообщат. Я вошью серийник в код VBA и наилучшими пожеланиями отдам прогу юзерам . И просто предупрежу, что при сносе системы, изменении файловой системы и установке другого виндоуса программа работать не будет. И в хелпе тоже самое укажу. И тогда перед всякими действиями "изменения " серийника я беру данные из программы и сливаю в версию с другим серийником. Конечно , здесь могут быть проблемы, но цель одна запретить работу программы на других компах. 2 Hibernate >- привязка юзеров к техподдержке, без которой прога не имеет никакой ценности А побольше о этом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2004, 13:59 |
|
||
|
Как привязать программу к компьютеру ...
|
|||
|---|---|---|---|
|
#18+
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 Наверное имеется ввиду здесь уровень камешка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2004, 14:16 |
|
||
|
Как привязать программу к компьютеру ...
|
|||
|---|---|---|---|
|
#18+
Eternal Ну так брось комментарий по той же ссылке. Для других. Сам проверял на нескольких компах, ну очень разных. Так что ID был разный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2004, 14:57 |
|
||
|
Как привязать программу к компьютеру ...
|
|||
|---|---|---|---|
|
#18+
Есть известная API - GetComputerName Возвращает сетевое имя компьютера ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2004, 15:10 |
|
||
|
Как привязать программу к компьютеру ...
|
|||
|---|---|---|---|
|
#18+
>- привязка юзеров к техподдержке, без которой прога не имеет никакой ценности А побольше о этом. этот вариант подходит для прог, в которых либо часто меняются данные либо часто меняются алгоритмы работы. Тоесть ценность имеет не сама прога, а актуальность ее алгоритмов и данных. ну а дальше все понятно - пользователь получат прогу совершенно бесплатно, а вот за ее актуальность надо платить. Вот еще вспомнил - есть еще вариант привязки к персональным данным пользователя. Например (только для объяснения принципа), прога бухгалтерская - тогда она привязывается к определенному юрлицу и его реквизитам. С другими она работать просто не будет, а для конечного пользователя прога с чужими реквизитами просто бесполезна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2004, 14:00 |
|
||
|
Как привязать программу к компьютеру ...
|
|||
|---|---|---|---|
|
#18+
2АлексейЕ Попробовал на ВыньХП - ид процессора = "". На Вин98се - выскочила ошибка при попытке выполнить строку Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") (номер ошибки не помню) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2004, 12:50 |
|
||
|
Как привязать программу к компьютеру ...
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2004, 18:54 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32415329&tid=1676227]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
407ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 214ms |
| total: | 713ms |

| 0 / 0 |
