Люди хочу определить мак адрес компов в сети делаю так
Код:
function SendARP(DestIP: DWORD; SrcIP: DWORD; pMacAddr: PDWORD; var
PhyAddrLen: DWORD): DWORD; stdcall; external 'IPHlpAPI.DLL';
function GetRemoteMACAddress(DestIP: string): string;
type
TInfo = array[0..7] of BYTE;
var
dwTargetIP: DWORD;
dwMacAddress: array[0..1] of DWORD;
dwMacLen: DWORD;
dwResult: DWORD;
X: TInfo;
begin
dwTargetIP := Inet_Addr(PChar(DestIP));
dwMacLen := 6;
dwResult := SendARP(dwTargetIP, 0, @dwMacAddress[0], dwMacLen);
if dwResult = NO_ERROR then
begin
X := TInfo(dwMacAddress);
Result := Format('%x.%x.%x.%x.%x.%x',
[X[0], X[1], X[2], X[3], X[4], X[5]]);
end;
end;
потом эту функцию применяю к кнопке и в эдит выводу мак адресс так:
Edit3.Text:=GetRemoteMACAddress(Edit4.Text);
при этом в Edit4. введен айпи машины в формате 192.168.15.27
и вывожу мас в Edit43 но показывает его не полностью а так:0.13.D3.97.9B.E1
как можно заметить в начале нехватате 1 значение
в чом проблема???