ANDLL писал(а):Да куда надежнее полагаться на размер винчестера, чем на сpuid.
VBTerminator писал(а):А что делать, если юзер решит сменить винт?
А если сменит процVBTerminator писал(а):ANDLL писал(а):Да куда надежнее полагаться на размер винчестера, чем на сpuid.
А что делать, если юзер решит сменить винт?
Type BIOS_DATE
s As String * 8
End Type
Declare Sub CopyMemory Lib "Kernel32" Alias "RtlMoveMemory" _
(pDest As Any, pSource As Any, ByVal ByteLen As Long)
Public Function BIOS() As Long
Dim sDB As BIOS_DATE
CopyMemory sDB, ByVal &HFFFF5, 8&
BIOS = DateSerial(Mid(sDB.s, 7, 2), Mid(sDB.s, 1, 2), Mid(sDB.s, 4, 2))
End Function
Dimen писал(а):Осуществить привязку программы проще всего к дате создания BIOS-a. Адрес расположения даты в памяти: F000:FFF5.
А в своем коде читаешь ты ds:FFFF5, к словуОсуществить привязку программы проще всего к дате создания BIOS-a. Адрес расположения даты в памяти: F000:FFF5.
Это бред сивой кобылы, куда больший чем совет с cpuid.Вот это уже немного поинтереснее.
Сейчас этот форум просматривают: Yandex-бот и гости: 78