//==============================================================================
//取得客户端‘主机名’‘IP地址’************************************************
//==============================================================================
procedure GetClientInfo(var ClientName, IPAddress: string);
var WSAData: TWSAData;
HostEnt: PHostEnt;
begin
{no error checking...}
WSAStartup(2, WSAData);
SetLength(ClientName, 255);
Gethostname(PChar(ClientName), 255);
SetLength(ClientName, StrLen(PChar(ClientName)));
HostEnt := GetHostByName(PChar(ClientName));
with HostEnt^ do IPAddress := Format('%d.%d.%d.%d',[Byte(h_addr^[0]), Byte(h_addr^[1]), Byte(h_addr^[2]), Byte(h_addr^[3])]);
WSACleanup;
end;
//取得客户端‘主机名’‘IP地址’************************************************
//==============================================================================
procedure GetClientInfo(var ClientName, IPAddress: string);
var WSAData: TWSAData;
HostEnt: PHostEnt;
begin
{no error checking...}
WSAStartup(2, WSAData);
SetLength(ClientName, 255);
Gethostname(PChar(ClientName), 255);
SetLength(ClientName, StrLen(PChar(ClientName)));
HostEnt := GetHostByName(PChar(ClientName));
with HostEnt^ do IPAddress := Format('%d.%d.%d.%d',[Byte(h_addr^[0]), Byte(h_addr^[1]), Byte(h_addr^[2]), Byte(h_addr^[3])]);
WSACleanup;
end;
解决方案 »
- adoconnection问题
- 请问在程序中如何打开系统的打印任务窗口?
- 关于LookUp字段问题,在线等!
- 如何使一个窗口变成活动窗口呀?
- 请问:哪里有用中文详细介绍delphi控件属性,方法,事件的书籍资料可看?
- 怎样用代码建立一个带有密码的ACCESS?谢谢!
- 请问如何把一个字符串传换成十六进制形 如何把十六进制形传换成十进制形
- 我用的是SQL SERVER2000,怎样用DELPHI中建一个主从表的程序,若有较好的例子也可以,发到[email protected]
- 请问如何得到ActiveX控件的数字签名?
- 救命啊!曾经问过的ADO的MaxRecords的问题???
- 各位观众~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 用sql语句查询“姓名”,“姓名”不止一个,由Edit提供该怎么写?
在uses加入idwinsock后,运行时出现:访问地址00000000被破坏,读00000000错误。要怎么才能使用?
function GetName: string;
const
MAX = MAX_COMPUTERNAME_LENGTH;
var
Computer: array[0..MAX]of Char;
Size: DWORD;
Str : String;
begin
Size := MAX;
FillChar(Computer, MAX, 0);
GetComputerName(Computer, Size);
Str := Computer;
Result := Str;
end;/////得到计算机IP地址函数////
function GetIp: string;
var
wVersion: Word;
sData: TWSAData;
P: PHostEnt;
S: array[0..128]of char;
begin
wVersion := MakeWord(1,1);
WSAStartup(wVersion,sData);
try
gethostname(@S,128);
P := gethostbyname(@S);
Result := inet_ntoa(PinAddr(P^.h_addr_list^)^);
finally
WSACleanup;
end;
end;