用什么函数读计算机的名称啊?比如我的计算机名为leeen,我要在程序中用它,怎么获取?谢谢!

解决方案 »

  1.   

    Function GetComputerName():String;
    var
     CNameBuffer:PChar;
     fl_loaded:Boolean;
     CLen : ^DWord;
     ComputerName:string;
    begin
        GetMem(CNameBuffer,255);
        New(CLen);
        CLen^:= 255;
        fl_loaded := GetComputerName(CNameBuffer,CLen^);    if fl_loaded then
          ComputerName := StrPas(CNameBuffer)
        else
          ComputerName := 'Unkown';    FreeMem(CNameBuffer,255);
        Dispose(CLen);
        result:=ComputerName;
    end;
      

  2.   

    getcomputername查查帮助就明白了
      

  3.   

    implementation
      uses winsock;
    {$R *.dfm}
    procedure TForm1.Button1Click(Sender: TObject);
    var
      buffer: array [1..32] of Char;
      WS_DATA: TWSAData;
    begin
      if WSAstartup(2, WS_DATA) <> 0 THEN
      showmessage('error');
      if getHostName(@buffer[1], 32) = 0 then
      ShowMessage(buffer);
    end;
      

  4.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Edit1: TEdit;
        Edit2: TEdit;
        Button1: TButton;
        Button2: TButton;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var
    computername:pchar;
     size:dword;
    begin
     getmem(computername,255);
     size:=255;
     if getcomputername(computername,size)=false then
     begin
     messagebox(handle,'获取计算机名失败','错误',mb_ok+mb_iconerror);
     freemem(computername);
     exit;
     end;
     edit1.Text:=computername;
      freemem(computername);end;procedure TForm1.Button2Click(Sender: TObject);var computername:string;
        result:bool;
        error:dword;
    begin
    computername:=edit2.Text;
    result:=setcomputername(pchar(computername));
    if result=false then
    begin
    error:=getlasterror();
    messagebox(handle,'更改计算机名失败','错误',mb_ok+mb_iconerror)
    end;
    application.MessageBox('重新启动计算机后,将会更改计算机名','提示',64);
    end;end.
      

  5.   

    function TfrmDataModule.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;
      

  6.   

    Function GetComputerName():String;
    var
      buffer: array [1..32] of Char;
      WS_DATA: TWSAData;
    begin
      if WSAstartup(2, WS_DATA) <> 0 THEN
      GetComputerName:='error';
      if getHostName(@buffer[1], 32) = 0 then
      GetComputerName:=buffer;
    end;
      

  7.   


    Function GetComputerNm:String;
    var name:PChar;
        i:Cardinal;
    begin
      GetMem(name,255);
      i:=255;
      GetComputerName(name,i);
      Result:=name;
      FreeMem(name,255);
    end; { GetComputerName}查 Win32 SDK 帮助.