findcomputerip.pas

来自「显示ARP缓存信息.A R P高效运行的关键是由于每个主机上都有一个A R P高」· PAS 代码 · 共 46 行

PAS
46
字号
unit findcomputerip;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls,Winsock;


function FindComputer(ComputerName: string):Boolean;
function findip(ip:string):boolean;
implementation

function FindComputer(ComputerName: string):Boolean;
var
  WSAData: TWSAData;
  HostEnt: PHostEnt;
begin
  Result :=True;
  WSAStartup(2, WSAData);
  HostEnt := gethostbyname(PChar(ComputerName));
  if HostEnt = nil then Result := False;
  WSACleanup;
end;
function findip(ip:string):boolean;
var
  WSAData:TWSAData;
  p:PHostEnt;
  InetAddr:dword;
begin
     WSAStartup(2, WSAData);
     InetAddr:= inet_addr(PChar(IP));
     try
        try
        p:=GetHostByAddr(@InetAddr, Length(IP), PF_Inet);
        findip:=findcomputer(string(p^.h_name));
        finally    
        WSACleanup;
       //注意要释放资源,无论有否异常
        end;
        except
        findip:=false;
     end;
end;
end.
 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?