Показать сообщение отдельно
  #4  
Старый 02.10.2009, 12:22
Gribok Gribok вне форума
Новичок
 
Регистрация: 25.09.2009
Сообщения: 53
Репутация: 4
По умолчанию

Люди хочу определить мак адрес компов в сети делаю так

Код:
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 значение
в чом проблема???
Ответить с цитированием