请教大家:如果机器名为sComputerName的远程机器有两个IP,一个内网IP,一个外网IP,我在本地执行下面的函数,请问返回的IP是外网IP还是内网IP??谢谢指教!function ComputerNameToIP(sComputerName:String):String;
var
WSAData: TWSAData;
HostEnt: PHostEnt;
begin
result:='';
WSAStartup(2, WSAData);
HostEnt := GetHostByName(PChar(sComputerName));
if HostEnt <> nil then
begin
with HostEnt^ do
result:= Format('%d.%d.%d.%d', [Byte(h_addr^[0]), Byte(h_addr^[1]), Byte(h_addr^[2]), Byte(h_addr^[3])]);
end;
WSACleanup;
end;
var
WSAData: TWSAData;
HostEnt: PHostEnt;
begin
result:='';
WSAStartup(2, WSAData);
HostEnt := GetHostByName(PChar(sComputerName));
if HostEnt <> nil then
begin
with HostEnt^ do
result:= Format('%d.%d.%d.%d', [Byte(h_addr^[0]), Byte(h_addr^[1]), Byte(h_addr^[2]), Byte(h_addr^[3])]);
end;
WSACleanup;
end;
解决方案 »
- delphi中如何删除access中的空记录?
- 如何截获双击窗体最大化消息?
- 中秋节了,散分,祝各位中秋快乐!
- 在线等。stringgrid网格是否为空值的判断
- *.sql文件用什么软件打开,在线等待!!
- 请教一个关于版权的问题
- 如何找出一个字符串中的特定字符并替换,比如在"rrrededeee"中把所有的'd'的位置找出来并替换为别的字符?
- 实现半透明的窗体!!!
- 请问谁有医院管理软件的源程序???
- 加急--高分请高手(今天必须解决的问题):用AT命令编制两个MODEM对拨接通后传输字符串的程序?
- 为何调试时提示ADOQuery没有设置为读写的权限,急,请问这是什么?
- 请问如何将成批的数据插入到数据库表中?
function DomainToIp(Domain :PChar):String;
var
HostEnt: PHostEnt;
begin
Result := '';
HostEnt := gethostbyName(domain);
if HostEnt = nil then
Exit;
with hostEnt^ do
Result := PChar(Format('%d.%d.%d.%d', [Byte(h_addr^[0]), Byte(h_addr^[1]),
Byte(h_addr^[2]), Byte(h_addr^[3])]));
end;