Identificando Placa De Vídeo (Consegui!)
05/11/2005
0
Olá pessoal ! ;)
Passei a manhã de hoje estudando como capturar o fabricante/modelo da placa de vídeo. Após cerca de 2 horas de pesquisa, incluindo monitoramento de registro na execução de softwares do gênero, cheguei à uma conclusão unânime. :rolleyes:
Tudo é feito lendo o Registro. Aliás, muitas das informações do PC é ele que nos informa. :wink:
Seguinte ...
Primeiramente, é feita uma leitura na chave [u:667ce985b5]HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\VIDEO[/u:667ce985b5]. Ela que nos vai informar o caminho para as informações da placa de vídeo. Acessndo esta chave, devemos ler o valor do dado [u:667ce985b5]\Device\Video0[/u:667ce985b5], que representa o dispositivo em uso (pois poderá haver mais). Feito isso, com o valor obtido (algo como [u:667ce985b5]\Registry\Machine\System\CurrentControlSet\Control\Video\{EE650684-306A-4E0E-AD53-4438CE239E17}\0000[/u:667ce985b5]), devemos acessar então a chave (exemplo) [u:667ce985b5]HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Video\{EE650684-306A-4E0E-AD53-4438CE239E17}\0000[/u:667ce985b5], e ler o valor de seu dado [u:667ce985b5]Device Description[/u:667ce985b5]. Pronto ! Feito isso já teremos o que queríamos em mãos ... :)
Seguindo meu conceito acima, fiz esta pequena função:
Testei aqui em meu PC e deu certo. Me informou a informação correta, para meu caso: [b:667ce985b5]NVIDIA GeForce4 MX 4000 (Microsoft Corporation)[/b:667ce985b5] (minha placa de vídeo). 8)
Finalmente acabei. Só gostaria de pedir à vocês que testassem este meu pequeno código, para ver se realmente funciona como deveria. E aos que testarem, seria interessante postarem o valor obtido (sem tirar nada), para mim ver se será preciso ´recortar´ alguns espaços que sobrarem em alguns casos, se houverem. :P
[]’s :D
Passei a manhã de hoje estudando como capturar o fabricante/modelo da placa de vídeo. Após cerca de 2 horas de pesquisa, incluindo monitoramento de registro na execução de softwares do gênero, cheguei à uma conclusão unânime. :rolleyes:
Tudo é feito lendo o Registro. Aliás, muitas das informações do PC é ele que nos informa. :wink:
Seguinte ...
Primeiramente, é feita uma leitura na chave [u:667ce985b5]HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\VIDEO[/u:667ce985b5]. Ela que nos vai informar o caminho para as informações da placa de vídeo. Acessndo esta chave, devemos ler o valor do dado [u:667ce985b5]\Device\Video0[/u:667ce985b5], que representa o dispositivo em uso (pois poderá haver mais). Feito isso, com o valor obtido (algo como [u:667ce985b5]\Registry\Machine\System\CurrentControlSet\Control\Video\{EE650684-306A-4E0E-AD53-4438CE239E17}\0000[/u:667ce985b5]), devemos acessar então a chave (exemplo) [u:667ce985b5]HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Video\{EE650684-306A-4E0E-AD53-4438CE239E17}\0000[/u:667ce985b5], e ler o valor de seu dado [u:667ce985b5]Device Description[/u:667ce985b5]. Pronto ! Feito isso já teremos o que queríamos em mãos ... :)
Seguindo meu conceito acima, fiz esta pequena função:
uses Registry; function GetDisplayAdapter: String; var Registry: TRegistry; Resource: String; begin Registry := TRegistry.Create; Registry.RootKey := HKEY_LOCAL_MACHINE; Registry.OpenKey(´HARDWARE\DEVICEMAP\VIDEO´, false); Resource := Registry.ReadString(´\Device\Video0´); Registry.CloseKey; Delete(Resource, 1, 18); // Delete ´\Registry\Machine\´ Registry.OpenKey(Resource, false); Result := Registry.ReadString(´Device Description´); Registry.CloseKey; Registry.Free; end;
Testei aqui em meu PC e deu certo. Me informou a informação correta, para meu caso: [b:667ce985b5]NVIDIA GeForce4 MX 4000 (Microsoft Corporation)[/b:667ce985b5] (minha placa de vídeo). 8)
Finalmente acabei. Só gostaria de pedir à vocês que testassem este meu pequeno código, para ver se realmente funciona como deveria. E aos que testarem, seria interessante postarem o valor obtido (sem tirar nada), para mim ver se será preciso ´recortar´ alguns espaços que sobrarem em alguns casos, se houverem. :P
[]’s :D
V1d4l0k4
Curtir tópico
+ 0
Responder
Posts
Clique aqui para fazer login e interagir na Comunidade :)