Tout d'abord, ajouter la classe Winsock
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Winsock;
Ajouter ensuite le code ci-dessous dans l'une de vos procédures (ici
Button1Click)
Notez qu'ici, l'IP est stocké dans la variable ip_machine
procedure TForm1.Button1Click(Sender:TObject); type TaPInAddr = array [0..10] of PInAddr; PaPInAddr = ^TaPInAddr; var phe : PHostEnt; pptr : PaPInAddr; Buffer : array [0..63] of char; I : Integer; GInitData : TWSADATA; ip_machine:string; begin WSAStartup($101, GInitData); ip_machine := ''; GetHostName(Buffer, SizeOf(Buffer)); phe :=GetHostByName(buffer); if phe = nil then Exit; pptr := PaPInAddr(Phe^.h_addr_list); I := 0; while pptr^[I] <> nil do begin // l'IP est stockée ci-dessous ip_machine := StrPas(inet_ntoa(pptr^[I]^)); Inc(I); end; WSACleanup; end;
Des questions ? Rejoignez nous sur le forum...