Capturar o nome do computador em uso

Delphi

03/01/2006

Bom dia !!!!!


Pessoal alguém possui alguma rotina onde eu possa capturar o nome do computador que esta em uso naquele momento, ou no momento de login?

Abraço

Wagner


Wagnermarrane

Wagnermarrane

Curtidas 0

Melhor post

Eniosb

Eniosb

03/01/2006

Eu uso o componente IdIPWatch(IP) da aba Indy Misc(Delphi7). Ele retorna dados como LocalIP e LocalName; Espero que ajude


GOSTEI 1

Mais Respostas

Marcio.theis

Marcio.theis

03/01/2006

Vc pode fazer desta forma:

procedure TForm1.BitBtn1Click(Sender: TObject);
var
   Computer: PChar;
   CSize: DWORD;
begin
Computer:=#0;
CSize:=MAX_COMPUTERNAME_LENGTH + 1;
try
    GetMem(Computer,CSize);
    if Windows.GetComputerName(Computer,CSize ) then
        ShowMessage(Computer);
finally
    FreeMem(Computer);
    end;
end;



GOSTEI 0
Wagnermarrane

Wagnermarrane

03/01/2006

[quote:eaa58c96a3=´/]/]@t´]Vc pode fazer desta forma:

procedure TForm1.BitBtn1Click(Sender: TObject);
var
   Computer: PChar;
   CSize: DWORD;
begin
Computer:=#0;
CSize:=MAX_COMPUTERNAME_LENGTH + 1;
try
    GetMem(Computer,CSize);
    if Windows.GetComputerName(Computer,CSize ) then
        ShowMessage(Computer);
finally
    FreeMem(Computer);
    end;
end;
[/quote:eaa58c96a3]

Esta apresentando o seguinte erro

[Error] Unit1.pas(29): E2410 Unsafe pointer variables, parameters or consts only allowed in unsafe procedure


GOSTEI 0
Marcio.theis

Marcio.theis

03/01/2006

Qual a versão do delphi que vc está usando ?


GOSTEI 0
Wagnermarrane

Wagnermarrane

03/01/2006

[quote:efd93619de=´/]/]@t´]Qual a versão do delphi que vc está usando ?[/quote:efd93619de]

Delphi 2005


GOSTEI 0
Marcio.theis

Marcio.theis

03/01/2006

Qual das linhas que ele acusa o erro ?


GOSTEI 0
Wagnermarrane

Wagnermarrane

03/01/2006

[quote:8c6f054048=´/]/]@t´]Qual das linhas que ele acusa o erro ?[/quote:8c6f054048]

na declaração da variavel

var
Computer: PChar;


GOSTEI 0
Marcio.theis

Marcio.theis

03/01/2006

Tente desta forma:

procedure TForm1.BitBtn1Click(Sender: TObject); 
var
    buffer: array[0..255] of char;
    size: dword;
begin
size:=256;
if GetComputerName(buffer, size) then
    ShowMessage(buffer);
end;



GOSTEI 0
Wagnermarrane

Wagnermarrane

03/01/2006

estou com problemas o valor passado é do tipo StringBuild e a variavel CHAR


GOSTEI 0
Wagnermarrane

Wagnermarrane

03/01/2006

estou com problemas o valor passado é do tipo StringBuild e a variavel CHAR


desculpe me enganei ... na verdade a imcompatibilidade ocorre com StringBuilder e Array

em relação ao componente IDIPWatch, no delphi 2005 não encontrei a função LOCALNAME, até que existe a LOCAL IP mas a LOCALNAME não....


GOSTEI 0
POSTAR