function PortUsed(Port: Integer): Boolean;
 var
   sSocket: TSocket;
   Wsd: TWSAData;
   SockAddrIn: TSockAddrIn;
 begin
   if WSAStartup(2, Wsd) = 0 then
   begin
     sSocket := Socket(AF_INET, SOCK_STREAM, 0);
     Result := True;
     try
       if (sSocket <> SOCKET_ERROR) then
       begin
         SockAddrIn.sin_family := AF_INET;
         SockAddrIn.sin_addr.S_addr := htonl(INADDR_ANY);
         SockAddrIn.sin_port := htons(Port);
         Result := (Bind(sSocket, SockAddrIn, SizeOf(SockAddrIn)) <> 0);
       end;
     finally
       CloseSocket(sSocket);
       WSACleanup();
     end;
   end
   else
     Result := True;
 end;










