Vamos parar de lorota. Em primeiro lugar a temperatura, velocidade do ventilador, nivel de bateria nao sao dados para se ler diretamente da area de Dados da BIOS. O acesso direto a memoria requer privilégios de RING 0 que vc e sua aplicacao nao tem. Só para relembrar e para a turma que nasceu ontem:
A partir do processador 386 temos os RINGs (nao os do Senhor dos Aneis e não me venha com piadinhas do Frodo e Acesso ao RING0 da CPU) Os RINGS 0,1,2 e 3. O RING 3 é onde sua aplicacao roda. O RING 2 fica as DLL's. O RING 1 ficam os drivers e o RING 0 é o hardware propriamente dito.
Uma aplicaco do RING 3 nao pode falar com RING 0 ou RING 1. Somente pode falar com o RING 2 (que sao as DLL´s) As DLL´s por sua vez podem falar com os drivers e servicos do Windows que rodam no RING1. Estes drivers tem acesso direto ao RING0.
Para resumir. esquece aqueles tutoriais de acessar a porta paralela com um Array de ports. Vc tem que ter um Driver de hardware que acessa o que vc quer e saber que DLL esta atrelada a ele. No ACPI temos o driver ACPI que conversa com os recursos de gerenciamento de energia e que tem acesso aos dados de temperatura do processador, etc. Ou pode usar o WMI que tb pode obter estes dados. Capitche?
Como no programa do Silvio (Pergunte a Maisa) temos no Windows o programa (Pergunte a API)
De toda forma se vc quer ler a temperatura e é tao preso ao Delphi (como eu) isso aqui poderá clarear a mente(Infelizmente nade de delphi por aqui pq a turma tem mente fechada neste aspecto)
http://msdn.microsoft.com/en-us/library/aa394493.aspx
Do link acima vc pega o fio da meada. O sistema em questao se chama Windows Management Instrumentation (WMI). Pelo ACPI vc le tambem temperatura, velocidade dos fans, etc
De toda forma, leia os links abaixo, cada um deles tem algo interessante para voce. Sinto, nada de delphi.
http://www.zd7000forums.com/viewtopic.p ... hlight=vbs
http://www.alcpu.com/CoreTemp/
Este sobre ACPI
http://forums.microsoft.com/MSDN/ShowPo ... 1&SiteID=1