tem algum codigo em c que detecte o hardware do pc ?

Iniciado por gvpadilha, 10 de Agosto de 2011, 23:51

tópico anterior - próximo tópico

gvpadilha

tem algum codigo em c que detecte o hardware do pc ?

Edimartin

Procura na biblioteca do sistema operacional.

No linux eu nunca tentei mas no windows é só usar a window.h.

O nome da placa de vídeo pode ser lido usando as funções glget.


//Variaveis
//String para a opengl
char *hwVendor=NULL;
char *hwRenderer=NULL;
char *hwVersion=NULL;

//Carregamento dos dados da placa de video
   if(!hwRenderer)
      hwRenderer=(char*)glGetString(GL_RENDERER);
   if(!hwVendor)
      hwVendor=(char*)glGetString(GL_VENDOR);
   if(!hwVersion)
      hwVersion=(char*)glGetString(GL_VERSION);


//Escrevendo os dados da placa de video
   printf("\nInformacoes da opengl");
   if(hwRenderer)
      printf("\n   Modelo do HW de video %s"
             ,hwRenderer
             );
   else
      printf("\n   Nao foi carregado o nome do modelo");
   if(hwVendor)
      printf("\n   Desenvolvedora do HW de video %s"
             ,hwVendor
             );
   else
      printf("\n   Nao foi carregado o nome da desenvolvedora");
   if(hwVersion)
      printf("\n   Versao da openGL %s"
             ,hwVersion
             );
   else
      printf("\nNao foi carregado o a versao");


Espero ter ajudado. Um abraço.

zeroday

Quando preciso fazer algo do tipo faco essa busca por comandos do Linux msm.

Dentro do codigo C dou um System.

Ate mais
"Lutar sempre , vencer na medida do possível , desistir jamais."

fpissarra

Citação de: zeroday online 30 de Agosto de 2011, 20:28
Quando preciso fazer algo do tipo faco essa busca por comandos do Linux msm.

Dentro do codigo C dou um System.

Ate mais

Usar system() não é lá uma boa idéia... Minha recomendação seria baixar o código fonte do comando 'lshw', por exemplo, e ver como ele faz:

$ apt-get source lshw

zeroday

Saberia me dizer pq nao eh bom usar o system fpissara?
"Lutar sempre , vencer na medida do possível , desistir jamais."

fpissarra

Citação de: zeroday online 01 de Setembro de 2011, 22:06
Saberia me dizer pq nao eh bom usar o system fpissara?
Porque, dependendo da distro, alguns comandos funcionam de maneira diferente. O que funciona no Ubuntu não necessariamente funciona no Red Hat ou no SUSE ou no Slackware, etc... mesma coisa para o FreeBSD e outros Unixes. Buscar uma maneira mais "universal", em minha opinião, é sempre melhor. Note que nenhum (que eu tenha visto) dos utilitários, no linux, usa system() para fazer seus trabalhos...

Ainda... se é para usar system(), então você não precisa de C, precisa de shell script...