9

How can I use C++ to control CPU fan speed in Windows Vista Ultimate? I would like to use ACPI.

bmargulies
  • 97,814
  • 39
  • 186
  • 310
  • 2
    I'd be surprised to learn that this is possible to do without using ACPI. AFAIK, ACPI is the BIOS-level protocol for interfacing with these components... – rmeador Apr 24 '09 at 18:15
  • 6
    What fan? CPU? GPU? Case? Ceiling? – Ben S Apr 24 '09 at 18:16
  • 1
    Similar to [this](http://stackoverflow.com/questions/485448/programmatically-access-cpu-fan-on-a-laptop-windows) question. If you are interested, I wrote an answer there with links to some sites that I found helpful in developing my own fan control driver. – Boris Jun 03 '10 at 16:27

1 Answers1

8

ACPI:

You need to learn about and use the WMI - Windows system management interface. Here are a few resources that will give you clues on where to start:

Note that some motherboards don't support fan speed changes, and even those that do may not expose this to the WMI. In the best case you may still have to detect the motherboard type and talk to the fan management controllers directly.

No ACPI:

If you don't want to use ACPI then you're going to have to write your own code to access the SMBUS on the motherboard, and then control the fan controller chips.

Check out the program motherboard monitor for clues on how to get started. It's nontrivial, since every motherboard and bios is different.

Liastre
  • 1,281
  • 11
  • 29
Adam Davis
  • 91,931
  • 60
  • 264
  • 330
  • 2
    Exactly. The API for controlling fans is ACPI. If he doesn't want to use the API that's designed to provide fan control, he's got a lot of work ahead of him. – Adam Davis Apr 24 '09 at 18:20
  • 1
    "I want using ACPI" sounds to me like he wants to use it... possibly anyway... ^^ – Oskar Duveborn Apr 24 '09 at 18:28
  • Also note that support for this will vary by mother board and BIOS implementation. Not all systems will support this; some not at all; some will have bugs. – Foredecker Apr 24 '09 at 18:45
  • 1
    This answer isn't really helpful, especially as all three links you provided point to the same thing. – AStopher May 11 '15 at 19:09
  • @cybermonkey sorry it's not as helpful as you'd like. The methods and classes remain available for further research though. – Adam Davis May 11 '15 at 19:43