问题
How can I use C++ to control CPU fan speed in Windows Vista Ultimate? I would like to use ACPI.
回答1:
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:
- SetSpeed Method of the CIM_Fan Class
- WMI C++ Application Examples
- Example: Calling a Provider Method
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.
来源:https://stackoverflow.com/questions/786984/how-can-i-control-my-pcs-fan-speed-using-c-in-vista