Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.02.07;
Скачать: CL | DM;

Вниз

как узнать МАК-адрес сетевой карты   Найти похожие ветки 

 
ev   (2001-11-10 01:43) [0]

сабж, и s/n винта ?


 
lel   (2001-11-12 10:30) [1]

Боюсь это невозможно 8))
Например через NetBios, IpHlpApi.dll, SNMP
драйвер напиши в конце концов, к сожалению это не шутка...
Защита с помощью электронных ключей, статья есть на этом сайте, там есть пример первого метода.
Желаю удачи в темных делах.
С уважением Алексей.


 
Kirill ©   (2001-11-12 13:38) [2]

Попробуй это, не уверен (сам не пробовал):

uses NB30;

Function GetMACAdress:String;
Var
NCB : PNCB;
Adapter :PAdapterStatus;

URetCode :Pchar;
RetCode :char;
I : Integer;
Lenum : PlanaEnum;
_SystemID :String;
TMPSTR :String;
Begin
Result:="";
_SystemID:="";
Getmem(NCB,sizeof(TNCB));
Fillchar(NCB^,Sizeof(TNCB),0);

Getmem(Lenum,sizeof(TLanaEnum));
Fillchar(Lenum^,Sizeof(TLanaEnum),0);

Getmem(Adapter,sizeof(TAdapterStatus));
Fillchar(Adapter^,Sizeof(TAdapterStatus),0);

Lenum.Length:=chr(0);
NCB.ncb_command:=chr(NCBENUM);
NCB.ncb_buffer:=pointer(Lenum);
NCB.ncb_length:=sizeof(Lenum);
RetCode:=Netbios(NCB);

i:=0;
Repeat
Fillchar(NCB^,Sizeof(TNCB),0);
Ncb.ncb_command:= chr(NCBRESET);
Ncb.ncb_lana_num:=lenum.lana[I];
RetCode:= Netbios(Ncb);

Fillchar(NCB^,Sizeof(TNCB),0);
Ncb.ncb_command:= chr(NCBASTAT);
Ncb.ncb_lana_num:= lenum.lana[I];
// Must be 16
Ncb.ncb_callname:="* ";

Ncb.ncb_buffer:=pointer(Adapter);

Ncb.ncb_length:=sizeof(TAdapterStatus);
RetCode:= Netbios(Ncb);
//---- calc _systemId from mac-address[2-5] XOR mac-address[1]...
if (RetCode=chr(0)) or (RetCode=chr(6)) then
Begin
_SystemId:=inttohex(ord(Adapter.adapter_address[0]),2)+"-"+
inttohex(ord(Adapter.adapter_address[1]),2)+"-"+
inttohex(ord(Adapter.adapter_address[2]),2)+"-"+
inttohex(ord(Adapter.adapter_address[3]),2)+"-"+
inttohex(ord(Adapter.adapter_address[4]),2)+"-"+
inttohex(ord(Adapter.adapter_address[5]),2);

End;
inc(i);
until (I>=ord(Lenum.length)) or (_SystemID<>"00-00-00-00-00-00");
FreeMem(NCB);
FreeMem(Adapter);
FreeMem(Lenum);
GetMacAdress:=_SystemID;
End;



procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := GetMACAdress;
end;


 
Anatoly Podgoretsky ©   (2001-11-12 22:37) [3]

Только если это для защиты, то лучше пока не поздно остановиться.


 
ev   (2001-11-17 02:21) [4]

задача такая - надо привязать прогу к компьютеру, чтобы пользователь не подозревал об этом!

Если есть идеи - пишите.


 
iZEN   (2001-11-17 03:54) [5]

Интересно, а у виртуальной сетевой карточки (типа MS LoopBack) MAC-адрес тоже имеется?


 
Anatoly Podgoretsky ©   (2001-11-17 12:47) [6]

ev (17.11.01 02:21)

Мне нравится твой подход "чтобы пользователь не подозревал об этом!", а пользователям?


 
Dimka Maslov ©   (2001-11-17 14:15) [7]

http://www.swissdelphicenter.ch/en/forum/viewtopic.php?topic=2915&forum=2&1


 
ev   (2001-11-17 16:59) [8]

to Anatoly Podgoretsky © (17.11.01 12:47)

А кто пользователя спрашивать будет ?! ;)

Если пользователю сказать вид защиты, то она (защита) будет "сломана".
А если не говорить, то он будет думать, что это "глюк".



Страницы: 1 вся ветка

Текущий архив: 2002.02.07;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
7-19004
Genik
2001-10-25 10:13
2002.02.07
Панель задач


3-18778
Alex Ignatenko
2002-01-14 13:55
2002.02.07
MS SQL Server 2000 и каскадное удаление


3-18721
vano1
2002-01-10 12:27
2002.02.07
Как добраться до базы данных MS Acces?


6-18932
VS
2001-11-16 06:00
2002.02.07
Передача файлов по сети


3-18718
DrYou
2002-01-10 10:15
2002.02.07
Некорректно работает связь Master/Detail