delphi 获取本机IP 及 主机名
网上搜了一些方法 大多不适用于delphi 5
本人delphi 菜鸟 请把步骤尽可能列详细些
[解决办法]
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,从原来的大富翁论坛找到的,很久很久前的代码。
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;