GARANTIR DESCONTO

Fórum Como pegar o nome do computador e o sistema operacional? #240259

29/06/2004

0

Pessoal,

Procurei e alguns códigos que achei não foram muito funcional...

Preciso de saber qual o nome do computador, tipo aquela para do MEU COMPUTADOR que tem na área de trabalho...

Ah... preciso do Sistema Operacional, TIPO: Windows XP, Windows 2000 NT


Como fazer isso?


Redoctober

Redoctober

Responder

Posts

29/06/2004

Tatuweb

Para retornar a versão do Windows. Não funciona em XP. Mas não é difícil adaptá-la para funcionar no XP. Só não tentei fazer porque não uso esse sistema.

function GetWinVersion: string;
begin
  Result := ´Desconhecido´;

  if Win32Platform = VER_PLATFORM_WIN32_WINDOWS then
    if (Win32MajorVersion > 4) or ((Win32MajorVersion = 4) and
      (Win32MinorVersion > 0)) then
         Result := ´Windows98´
    else
      Result := ´Windows95´
  else
    if Win32MajorVersion <= 4 then
      Result := ´WindowsNT´
    else
      if Win32MajorVersion = 5 then
        Result := ´Windows2000´
end;

Para retornar o Nome do Ícone Meu Computador
function GetNameMyComputer: string;
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  Reg.RootKey := HKEY_CURRENT_USER;
  Reg.OpenKey (´\Software\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}´, FALSE);
  Result := Reg.ReadString (´´);
  Reg.CloseKey;
  Reg.Free;
end;



Responder

Gostei + 0

29/06/2004

Redoctober

function GetNameMyComputer: string; var Reg: TRegistry; begin Reg := TRegistry.Create; Reg.RootKey := HKEY_CURRENT_USER; Reg.OpenKey (´\Software\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}´, FALSE); Result := Reg.ReadString (´´); Reg.CloseKey; Reg.Free; end;


Aí TatuWeb, deu um erro na linha

[b:09216f2105]Reg: TRegistry; [/b:09216f2105] -ERRO--> Undeclared identifier: ´TRegistry´

O que pode ser?


Responder

Gostei + 0

29/06/2004

Tatuweb

declare na seção uses do form a unit Registry.

[b:02b660725d]uses Registry;[/b:02b660725d]

:wink:


Responder

Gostei + 0

29/06/2004

Redoctober

Agora não deu erro mais, não retornou nada no edit que coloquei...

Uso o windows 98 SE

O que pode ser?


Responder

Gostei + 0

29/06/2004

Tatuweb

Estranho. Testei no mesmo sistema que vc usa e funcionou. Em todo caso modifique as linhas 5 e 6 da função. No meu caso funcionou das duas maneiras. Se não funcionar mude o nome do ícone e teste a função novamente só para tirar dúvida.

Reg.RootKey := HKEY_USERS;
Reg.OpenKey (´.DEFAULT\Software\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}´, FALSE);

Era para funcionar porque essas chaves é que guardam o nome do ícone ´meu computador´. Se não funcionar posta de novo que eu dou uma verificada.


Responder

Gostei + 0

29/06/2004

Lucas Silva

uses Registry;

.
.
.
.
function TdmAtualizacao.Getcomputer : string;
var registro : tregistry;
begin
     registro:=tregistry.create;
     registro.RootKey := HKEY_LOCAL_MACHINE;
     registro.openkey(´System\CurrentControlSet\Services\VXD\VNETSUP´,false);
     result:=registro.readstring(´ComputerName´);
end;



Responder

Gostei + 0

29/06/2004

Redoctober

Tentei como o lucas passou, mais não consegui!

vejam como estou chamando a função:

label1.caption:=TdmAtualizacao.Getcomputer;


Estou errado?


Responder

Gostei + 0

29/06/2004

Tatuweb

Provavelmente vc colocou a palavra ´TdmAtualizacao.´ e deve ter dado um erro. Basta retirar essa palavra que vai funcionar. Só uma observação: essa função passada pelo Lucas vai retornar o nome do computador e não o nome do ícone ´meu computador´ que tá na área de trabalho. Eu entendi que vc queria saber o nome do ícone. Se o que vc queria saber é o nome do computador é só usar a função do Lucas. Testa e veja se seu problema está solucionado.

:wink:


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar