Как оперделить все IP и порты на моем компьютере?

Previous  Top  Next

    
 

 

Функции GetTcpTable, GetUdpTable.

 

Импорт GetTcpTable:

Code:

unit TcpTable;

interface

type

PDWord = ^Longword;

PMIB_TCPROW = ^TMIB_TCPROW;

TMIB_TCPROW = record

   dwState: LongWord;

   dwLocalAddr: LongWord;

   dwLocalPort: LongWord;

   dwRemoteAddr: LongWord;

   dwRemotePort: LongWord;

end;

PMIB_TCPTABLE = ^TMIB_TCPTABLE;

TMIB_TCPTABLE = record

   dwNumEntries: LongWord;

   table: array[0..0] of TMIB_TCPROW;

end;

function GetTcpTable(var TcpTable: PMIB_TCPTABLE; var Size: PDWord; bOrder: Boolean): LongWord; stdcall

implementation

function GetTcpTable; external 'Iphlpapi.dll' name 'GetTcpTable';

end.

 

 

Вызов GetTcpTable:

Code:

{$R-}

   Entries:=16;

   Sz:=SizeOf(TMIB_TCPTABLE)+SizeOf(TMIB_TCPROW)*(Entries-1);

   pMibTable:=nil;

   try

    repeat

      ReallocMem(pMibTable,Sz);

      Res:=GetTcpTable(pMibTable^,Sz,False);

    until Res <> ERROR_INSUFFICIENT_BUFFER;

    if Res <> NO_ERROR then

     begin

      ShowMessage(SysErrorMessage(Res));

      exit;

     end;

    for Entries:=0 to pMibTable.dwNumEntries-1 do

     begin

        <Делать что-то>

     end;

   finally

    FreeMem(pMibTable);

   end;

{$R+}

 

 

Автор Spawn

©Drkb::03339ф

Взято с Vingrad.ru http://forum.vingrad.ru