cs_othland
Messages postés
298
Date d'inscription
jeudi 18 décembre 2003
Statut
Membre
Dernière intervention
9 février 2010
1
10 déc. 2006 à 10:51
slt encore une fois:
aprés combinaison, voila ce que j'ai :
//////////////////////////début source
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ElgAPI, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
hEnum : DWORD;
dwResult : DWORD;
cEntries : DWORD;
cbBuffer : DWORD;
Machine,Machine2,Resu : string;
I,maclen : Integer;
lpnr : PNetResource;
ip : DWORD;
mac : TAdresseMac;
begin
cEntries := $FFFFFFFF;
cbBuffer := 16384;
lpnr := PNETRESOURCE( GlobalAlloc(GPTR, cbBuffer) );
if ( WNetOpenEnum( RESOURCE_CONTEXT, RESOURCETYPE_ANY, 0, lpnr, hEnum ) <> NO_ERROR ) then Exit;
dwResult := WNetEnumResource( hEnum, cEntries, lpnr, cbBuffer );
if (dwResult <> NO_ERROR) then Exit;
Inc( lpnr );
for I := 0 to ( cEntries - 1 ) do
begin
Machine := lpnr^.lpRemoteName;
//Machine2 := lpnr^.lpLocalName;
ShowMessage(Machine);
//ShowMessage(Machine2);
////////////
ip := inet_addr( PChar(AdresseIP) );
maclen := SizeOf(TAdresseMac);
SendArp ( ip, 0, @MAC, @maclen );
Resu := Format( '%.2x-%.2x-%.2x-%.2x-%.2x-%.2x', [ mac[1], mac[2], mac[3], mac[4], mac[5], mac[6] ] );
ShowMessage(Resu);
/////////////
Inc( lpnr );
end;
WNetCloseEnum( hEnum );
end;
end.
////////////////////////////fin source
le problème c'esr que ça ne marche pas, pour la simple raison que : je ne trouve pas ou je peux avoir l'adresse ip de la machine distante lors du balayage.... en d'autre terme, je ne sais pas ou et comment remplir ma variable : AdresseIP