获取本地计算机的名称和IP地址
2014-01-01 16:46
218 查看
本程序介绍如何获取本地计算机的名称和IP地址。
向窗体上添加两个TLabel组件、两个TEdit组件和一个TButton组件,设计完成的主界面如图6-8所示。
图6-8 主界面
首先在程序的uses段中添加对WinSock的引用,然后添加一个GetHostName自定义函数,在其中调用GetComputerName函数获取计算机名称,响应代码如下:
单击“开始”按钮,就会获取并显示本地计算机的名称和IP地址。程序运行结果如图6-10所示。
图6-9 程序运行的初始画面 图6-10 程序运行结果
向窗体上添加两个TLabel组件、两个TEdit组件和一个TButton组件,设计完成的主界面如图6-8所示。
图6-8 主界面
首先在程序的uses段中添加对WinSock的引用,然后添加一个GetHostName自定义函数,在其中调用GetComputerName函数获取计算机名称,响应代码如下:
function TfrmMain.GetHostName:String; var ComputerName: array[0..MAX_COMPUTERNAME_LENGTH+1] of char; Size: Cardinal; begin result:=''; Size := MAX_COMPUTERNAME_LENGTH+1; GetComputerName(ComputerName, Size); Result:=StrPas(ComputerName); end;添加一个NameToIP自定义函数,在其中调用GetHostByName函数根据计算机名称获取计算机的IP地址,响应代码如下:
function TfrmMain.NameToIP(Name:string):String; var WSAData: TWSAData; HostEnt: PHostEnt; begin result:=''; WSAStartup(2, WSAData); HostEnt := GetHostByName(PChar(Name)); 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;程序代码如下:
unit Unit1;保存文件,然后按F9键运行程序,程序运行的初始画面如图6-9所示。
interface
uses
Windows, Messages, Sys Utils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, WinSock;
type
TfrmMain = class(TForm)
btnStart: TButton;
edtIP: TEdit;
edtName: TEdit;
Label1: TLabel;
Label2: TLabel;
function GetHostName:String;
procedure btnStartClick(Sender: TObject);
function NameToIP(Name:string):String;
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmMain: TfrmMain;
implementation
{$R *.dfm}
function TfrmMain.GetHostName:String; var ComputerName: array[0..MAX_COMPUTERNAME_LENGTH+1] of char; Size: Cardinal; begin result:=''; Size := MAX_COMPUTERNAME_LENGTH+1; GetComputerName(ComputerName, Size); Result:=StrPas(ComputerName); end;
procedure TfrmMain.btnStartClick(Sender: TObject);
begin
edtName.Text:=GetHostName;
edtIP.Text:=NameToIP(edtName.Text);
end;
function TfrmMain.NameToIP(Name:string):String; var WSAData: TWSAData; HostEnt: PHostEnt; begin result:=''; WSAStartup(2, WSAData); HostEnt := GetHostByName(PChar(Name)); 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;
end.
单击“开始”按钮,就会获取并显示本地计算机的名称和IP地址。程序运行结果如图6-10所示。
图6-9 程序运行的初始画面 图6-10 程序运行结果
相关文章推荐
- 获取本地计算机的名称和IP地址
- 获取本地计算机名和IP地址
- C#中获取CPU序列号、网卡Mac地址、IP地址、硬盘序列号、登录用户名、PC类型、计算机名称、物理内存,Singleton模式
- c#中获取cpu序列号、网卡mac地址、ip地址、硬盘序列号、登录用户名、pc类型、计算机名称、物理内存
- c#中获取cpu序列号、网卡mac地址、ip地址、硬盘序列号、登录用户名、pc类型、计算机名称、物理内存
- flex 通过js获取ip地址和计算机名称表现在ie中,为什么要对ie的安全级别设置?
- C#中获取CPU序列号、网卡Mac地址、IP地址、硬盘序列号、登录用户名、PC类型、计算机名称、物理内存
- C# 实现的本地IP地址, 计算机名称, MAC地址 和 硬盘序列号 CPU序列号 的小程序
- c#中获取cpu序列号、网卡mac地址、ip地址、硬盘序列号、登录用户名、pc类型、计算机名称、物理内存 【转载】
- c#中获取cpu序列号、网卡mac地址、ip地址、硬盘序列号、登录用户名、pc类型、计算机名称、物理内存
- C#获取计算机MAC地址,IP地址,以及计算机名称
- 如何在.net中获取电脑名称,IP地址,用户名,计算机所在域名(转载)
- 获取硬件信息的delphi源码(CPUID、操作系统、Mac物理地址、计算机名称、IP地址、用户名)
- [JAVA100例]042、获取计算机名称和IP地址(java100例)
- Delphi 如何获取本地计算机名和IP地址
- 获取本地计算机的名称
- C#中获取CPU序列号、网卡Mac地址、IP地址、硬盘序列号、登录用户名、PC类型、计算机名称、物理内存
- c#中获取cpu序列号、网卡mac地址、ip地址、硬盘序列号、登录用户名、pc类型、计算机名称、物理内存
- 获取本地计算机名和IP地址
- c#中获取cpu序列号、网卡mac地址、ip地址、硬盘序列号、登录用户名、pc类型、计算机名称、物理内存