Autor Tópico: tem algum codigo em c que detecte o hardware do pc ?  (Lida 2625 vezes)

Offline gvpadilha

  • Usuário Ubuntu
  • *
  • Mensagens: 11
    • Ver perfil
tem algum codigo em c que detecte o hardware do pc ?
« Online: 10 de Agosto de 2011, 23:51 »
tem algum codigo em c que detecte o hardware do pc ?

Offline Edimartin

  • Usuário Ubuntu
  • *
  • Mensagens: 39
    • Ver perfil
Re: tem algum codigo em c que detecte o hardware do pc ?
« Resposta #1 Online: 11 de Agosto de 2011, 17:59 »
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.

Código: [Selecionar]
//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.

Offline zeroday

  • Usuário Ubuntu
  • *
  • Mensagens: 1.083
    • Ver perfil
Re: tem algum codigo em c que detecte o hardware do pc ?
« Resposta #2 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
"Lutar sempre , vencer na medida do possível , desistir jamais."

Offline fpissarra

  • Usuário Ubuntu
  • *
  • Mensagens: 246
    • Ver perfil
    • Lost in the e-Jungle
Re: tem algum codigo em c que detecte o hardware do pc ?
« Resposta #3 Online: 30 de Agosto de 2011, 21:09 »
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:

Código: [Selecionar]
$ apt-get source lshw

Offline zeroday

  • Usuário Ubuntu
  • *
  • Mensagens: 1.083
    • Ver perfil
Re: tem algum codigo em c que detecte o hardware do pc ?
« Resposta #4 Online: 01 de Setembro de 2011, 22:06 »
Saberia me dizer pq nao eh bom usar o system fpissara?
"Lutar sempre , vencer na medida do possível , desistir jamais."

Offline fpissarra

  • Usuário Ubuntu
  • *
  • Mensagens: 246
    • Ver perfil
    • Lost in the e-Jungle
Re: tem algum codigo em c que detecte o hardware do pc ?
« Resposta #5 Online: 02 de Setembro de 2011, 09:03 »
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...