請問有沒有更簡便取得 HostName 的方法 ? |
答題得分者是:meta
|
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
請問有沒有更簡便取得 HostName 的方法 ?
謝謝 ~~~
uses winSock; {$R *.dfm} function GetPCHostName: String; var wsa: TWSAData; aBuffer: array [0..255] of Char; PCHostName : String; i : integer; begin if WSAStartup($0101, wsa) <> 0 then Exit; try if gethostname(aBuffer, SizeOf(aBuffer)) <> 0 then Exit; i:=0; PCHostName :=''; while aBuffer[i]<>char(nil) do begin PCHostName := PCHostName aBuffer[i]; i:=i 1; end; Result := PCHostName; finally WSACleanup; end; end; procedure TForm1.FormCreate(Sender: TObject); begin showmessage(GetPCHostName); end;
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案! 子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問! |
meta
中階會員 發表:3 回覆:60 積分:57 註冊:2004-06-09 發送簡訊給我 |
//uses delphi7
uses sockets procedure TForm1.Button1Click(Sender: TObject);
var
sock : TIpSocket;
begin
sock := TIpSocket.Create(self);
showMessage(sock.localHostName);
end; or uses IdStack;
procedure TForm1.Button1Click(Sender: TObject);
var
stack:TIdStack;
begin
try
stack:=TIdStack.CreateStack;
memo1.Lines.Add(stack.WSGetHostName);
finally
stack.Free;
end;
end;
|
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
uses Winsock; function GetLocalHostName:String; type Name = array[0..100] of Char; PName = ^Name; var HName: PName; WSAData: TWSAData; HostName: String; begin if WSAStartup($0101, WSAData) <> 0 then Exit; New(HName); if GetHostName(HName^, SizeOf(Name)) = 0 then begin HostName := StrPas(HName^); Result:=HostName; end else Result:=''; Dispose(HName); WSACleanup; end; procedure TForm1.FormCreate(Sender: TObject); begin ShowMessage(GetLocalHostName); end;
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案! 子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |