读书人

delphi 获取本机IP 及 主机名,该如何处

发布时间: 2012-04-07 17:31:51 作者: rapoo

delphi 获取本机IP 及 主机名
网上搜了一些方法 大多不适用于delphi 5
本人delphi 菜鸟 请把步骤尽可能列详细些

[解决办法]

Delphi(Pascal) code
unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls;type  TForm1 = class(TForm)    Button1: TButton;    procedure Button1Click(Sender: TObject);  private    { Private declarations }  public    { Public declarations }  end;var  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);var        mstr: string;        ss: TStringList;        i: integer;begin        WinExec('cmd /c ipconfig/all >d:\abc.txt',SW_HIDE);        sleep(1000);        ss := TStringList.Create;        ss.LoadFromFile('d:\abc.txt');        for i:=0 to ss.Count -1 do        begin                mstr := Trim(ss.Strings[i]);                if Pos('Host Name',mstr)>0 then                begin                        Delete(mstr,1,Pos(':',mstr)+1);                        showmessage('hostname:' + mstr);                end;                if Pos('IP Address',mstr)>0 then                begin                        Delete(mstr,1,Pos(':',mstr)+1);                        showmessage('ipaddr:' + mstr);                end;        end;        ss.Destroy;        DeleteFile('d:\abc.txt');end;end.
[解决办法]
procedure TForm1.Button3Click(Sender: TObject);
var
namea: array[0..MAX_PATH] of Char;
size: Cardinal;
begin
GetComputerName(namea, size);
ShowMessage(namea);
end;

获取本机IP我没有太好的方法..
[解决办法]
楼主: 这个应该适合D5,从原来的大富翁论坛找到的,很久很久前的代码。

Delphi(Pascal) code
uses Winsock;...function getIP(DNS_hostname: string): string;var  WSAData: TWSAData;  HostEnt: PHostEnt;begin  WSAStartup(2, WSAData);  HostEnt := gethostbyname(PChar(DNS_hostname));  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])]);  WSACleanup;end; 

读书人网 >.NET

热点推荐