请问,getcomputername()函数中的两个参数,第一个参数应该怎样给?
var
    s:string; 
begin
    setlength(s,100);
    getcomputername(s,100);
end;
我这样写的,但是不对。请各位指点!

解决方案 »

  1.   

    The GetComputerName function retrieves the computer name of the current system. This name is established at system startup, when it is initialized from the registry. BOOL GetComputerName(    LPTSTR lpBuffer, // address of name buffer 
        LPDWORD nSize  // address of size of name buffer 
       );
     ParameterslpBufferPoints to a buffer to receive the null-terminated character string containing the computer name. nSizePoints to a variable that specifies the maximum size, in characters, of the buffer. This value should be large enough to contain MAX_COMPUTERNAME_LENGTH + 1 characters.
      

  2.   

    //获取计算机名称
    function THouseSys.GetcomputerName:AnsiString;
    var lpBuffer: array[0..MAX_PATH] of char;dwSize: DWORD;
    begin
      dwSize:= MAX_PATH;
      if not Windows.GetComputerName(lpBuffer, dwSize) then
        raise
        Exception.Create(SysErrorMessage(GetLastError()));
      Result:= StrPas(lpBuffer);
    end;
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      tmp:pchar;
      n:Cardinal;
    begin
      getmem(tmp, MAX_COMPUTERNAME_LENGTH + 1);
      getcomputername(tmp,n);
      showmessage(tmp);
    end;
      

  4.   

    var
      i:cardinal;
        
        i:=100;
        setlength(s,100);
        getcomputername(pchar(s),i);
        edit1.text:=s;
      

  5.   

    procedure TForm1.Button1Click(Sender: Tobject);
    var
      ComputerName:pchar;
      Size: Cardinal;
      Re:Boolean;
    begin
    { CopyRight (C) Bowman 2000 }
    [email protected] }
      {Set Size}
      Size := MAX_COMPUTERNAME_LENGTH+1;
      Getmem(ComputerName,Size);
      {retrieve computer name}
      Re:=GetComputerName(ComputerName, Size);
      if re then
        Edit1.Text := StrPas(Computername)
      else Showmessage('Computer Name Not Found');
      Freemem(ComputerName);
    end;
      

  6.   

    同意: outer2000(天外流星)第一个参数应该传PChar类型。var
      Buffer:PChar;
    begin
      GetMem(Buffer, MAX_COMPUTERNAME_LENGTH+1);
      getcomputername(Buffer,MAX_COMPUTERNAME_LENGTH);
      FreeMem(Buffer);
    end;
      

  7.   

    var
       buff:pchar; 
    begin
        getmem(buff,255);
        
        getcomputername(buff,255);
      freemem(buff,255);
    end;