Показать сообщение отдельно
  #6  
Старый 07.07.2025, 20:44
leon2009 leon2009 вне форума
Новичок
 
Регистрация: 18.03.2009
Сообщения: 81
Репутация: 10
Печаль

Код:
GetExtendedTcpTable(nil, TableSize, True, AF_INET, TCP_TABLE_BASIC_CONNECTIONS {TCP_TABLE_OWNER_PID_ALL}, 0); 
if GetExtendedTcpTable(TcpTable, TableSize, True, AF_INET, TCP_TABLE_BASIC_CONNECTIONS {TCP_TABLE_OWNER_PID_ALL}, 0) = NO_ERROR then
Код:
  FIpTable[i].LocalAddr := Format('%d.%d.%d.%d:%d:PID:%d', [
            dwLocalAddr and $FF,
            (dwLocalAddr shr 8) and $FF,
            (dwLocalAddr shr 16) and $FF,
            (dwLocalAddr shr 24) and $FF,
            ntohs(dwLocalPort), dwOwningPid
          ]);

          FIpTable[i].RemoteAddr := Format('%d.%d.%d.%d:%d:PID:%d', [
            dwRemoteAddr and $FF,
            (dwRemoteAddr shr 8) and $FF,
            (dwRemoteAddr shr 16) and $FF,
            (dwRemoteAddr shr 24) and $FF,
            ntohs(dwRemotePort) , dwOwningPid
          ]);
и вывод: UNIT1
Код:
begin
  IpTableLocker.Enter;
  Memo1.Lines.BeginUpdate;
  Try
    Memo1.Lines.Clear;
    for I := 0 to FThread.Count-1 do
      Memo1.Lines.Add(Format('%s <=> %s',[FThread.IpTable[i].LocalAddr,FThread.IpTable[i].RemoteAddr,FThread.IpTable[i].PidAddr]));
          Finally
    Memo1.Lines.EndUpdate;
    IpTableLocker.Leave;
  End;
проверка:
Код:
if FThread.IpTable[i].PidAddr=1111 then Memo1.Lines.Add(Format('%s <=> %s',[FThread.IpTable[i].LocalAddr,FThread.IpTable[i].RemoteAddr]));
Ответить с цитированием