Ir para conteúdo
Fórum Script Brasil
  • 0

Temperatura


lxl_igor_lxl

Pergunta

17 respostass a esta questão

Posts Recomendados

  • 0

As APIs do Windows geralmente não tem esse tipo de recurso. Um exemplo é que você tem uma API para "desenhar" na tela, mas não para modificar os bits diretamente na placa de vídeo. Até porque isso varia de uma placa de vídeo para outra e o papel do "driver" de vídeo é justamente lidar com essas diferenças. Por isso que acho que nunca vimos uma API para fazer uma comunicação direta com o BIOS, por exemplo.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0
As APIs do Windows geralmente não tem esse tipo de recurso. Um exemplo é que você tem uma API para "desenhar" na tela, mas não para modificar os bits diretamente na placa de vídeo. Até porque isso varia de uma placa de vídeo para outra e o papel do "driver" de vídeo é justamente lidar com essas diferenças. Por isso que acho que nunca vimos uma API para fazer uma comunicação direta com o BIOS, por exemplo.

Abraços,

Graymalkin

Eu não sabia disso pensei que API poderia captar qualquer coisa do sistema wink.gif

Link para o comentário
Compartilhar em outros sites

  • 0
Por si só, o VB não tem esse tipo de informação. Talvez você ache alguma DLL em C que possa retornar isso

sera que se eu postar isso la no forum de C eles vao me ajudar?

Talvez. Não sei se isso é padrão em todas as placas-mães de forma que um código vá funcionar para todas.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

biggrin.gif Igor ... achei maneiro... caso você conseguir algo com relação a temperatura etc... que seje em C ou alguma DLL para resposta em VB me mande um e-mail ou post a solução no seu tópico...

caso quizer trocar mais ideia me procure no ICQ.

abraços.......

Link para o comentário
Compartilhar em outros sites

  • 0

O único código parecido que eu já vi é um que eu tenho aqui que pega a senha da Bios...

Esta dll ai só deve funcionar no Win9x , no 2000 e Xp não deve funcionar.

Se você testou em algum destes Windows e funcionou, me fale aonde conseguiu a dll

que deve ser diferente da minha.

Mas em todo caso , o que o nosso colega quer não vai ser possível apenas lendo o setup.

quando se entra no setup da máquina e ve aquelas variações de tensão , as mesmas não ficam gravadas em lugar nenhum, apenas são apresentada na tela.

Se ele quer mesmo saber estas variações , deve fazer com linguagem de baixo nível,talvez chamando alguma função de bios , e isto como se sabe não é possível com linguagens de alto nível como o Vb por exemplo.

Link para o comentário
Compartilhar em outros sites

  • 0

tem que ter alguma linguagem que faz isso! tongue.gif porque eu vi um programa que mostra a temperatura do pc mas não sei em que linguagem foi feito dry.gif ah falando nisso vocês sabem como mostrar o espaco usado e o espaco livre no hd??

Link para o comentário
Compartilhar em outros sites

  • 0

tem que ter alguma linguagem que faz isso! tongue.gif porque eu vi um programa que mostra a temperatura do pc mas não sei em que linguagem foi feito dry.gif ah falando nisso vocês sabem como mostrar o espaco usado e o espaco livre no hd??

Link para o comentário
Compartilhar em outros sites

  • 0

tem que ter alguma linguagem que faz isso!  porque eu vi um programa que mostra a temperatura do pc mas não sei em que linguagem foi feito 

O problema não é so saber em qual linguagem se faz, você pode usar o C++ 6.0 (do VS6)da Microsoft para desenvolver, o problema é que as linguagens de programação para Windows não oferecem recurso para acesso em baixo nível por motivo de segurança do sistema.

Antigamente em DOS , você poderia fazer o que quizesse.Se você travasse o micro com um código mal comportado, o problema era só seu e bastaria dar um reset para tudo voltar ao normal.

já no Windows que é um sistema multitarefa as coisas não são tão simples.Se você tentar acessar uma interrupção usada por outro aplicativo , você trava todo o sistema e é dificil saber quem é o culpado.

Por isto , para acesso a funções de baixo nivel como no DOS , o Windows permite que se use devices drivers (dll , .vxd no 9x e .sys no WinNt,2k etc..).

Até ai você pode usar qualquer copilador C++ para desenvolver.Depois disso vem a outra dificuldade que é ter conhecimento de Hardware.Por exemplo:

No exemplo que nosso amigo deu para ler a senha do Setup, você usa a interrupção (70h a 75h) se não me engano. Neste caso você esta chamando uma função de bios que vai retornar um valor.

Para você saber como ler a tensão da cpu , deve existir alguma chamada para esta função , que deve ser do seu conhecimento.Eu mesmo não conheço.

Uma solução , se é tão importante para você saber a tensão, tente entrar em contato com o fabricante do software que faz este monitoramento , para saber se eles disponibilizam as chamadas as dll's que eles usam.

Ps:Já tentei isso e não consegui.

sabem como mostrar o espaco usado e o espaco livre no hd??

Use esta função para pegar o espaço usado e livre:

Private Declare Function GetDiskFreeSpaceEx Lib "kernel32" Alias "GetDiskFreeSpaceExA" (ByVal lpRootPathName As String, lpFreeBytesAvailableToCaller As Currency, lpTotalNumberOfBytes As Currency, lpTotalNumberOfFreeBytes As Currency) As Long

Private Sub Form_Load()

    Dim r As Long, BytesFreeToCalller As Currency, TotalBytes As Currency

    Dim TotalFreeBytes As Currency, TotalBytesUsed As Currency

    'the drive to find

    Const RootPathName = "C:\"

    'get the drive's disk parameters

    Call GetDiskFreeSpaceEx(RootPathName, BytesFreeToCalller, TotalBytes, TotalFreeBytes)

    'show the results, multiplying the returned

    'value by 10000 to adjust for the 4 decimal

    'places that the currency data type returns.

    Me.AutoRedraw = True

    Me.Cls

    Me.Print

    Me.Print " Total Number Of Bytes:", Format$(TotalBytes * 10000, "###,###,###,##0") & " bytes"

    Me.Print " Total Free Bytes:", Format$(TotalFreeBytes * 10000, "###,###,###,##0") & " bytes"

    Me.Print " Free Bytes Available:", Format$(BytesFreeToCalller * 10000, "###,###,###,##0") & " bytes"

    Me.Print " Total Space Used :", Format$((TotalBytes - TotalFreeBytes) * 10000, "###,###,###,##0") & " bytes"

End Sub

Link para o comentário
Compartilhar em outros sites

  • 0

Cara tem mais de 2 horas que eu estou pesquisando esse negócio aqui, mas até agora não consegui um resultado concreto... mas achei muita coisa, só que tudo em inglês por isso não consegui chegar a uma resposta ainda, então a partir de agora é com você, se achar dá o retorno pro pessoal aqui... ph34r.gif

http://www.xtremevbtalk.com/archive/index.php/t-177842.html

http://vbnet.mvps.org/index.html?code/wmi/wmibaseboard.htm

Link para o comentário
Compartilhar em outros sites

  • 0

tem como isso ser mostrado em diferente labels? tentei mas num funcionou

Se for o código que passei, basta substituir o print:

Text1.Text = " Total Number Of Bytes:" & Format$(TotalBytes * 10000, "###,###,###,##0") & " bytes"

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...