2009-04-24 8 views
5

Comment puis-je utiliser C++ pour contrôler la vitesse du ventilateur du processeur dans Windows Vista Ultimate? Je voudrais utiliser ACPI.Comment puis-je contrôler la vitesse du ventilateur de mon PC en utilisant C++ dans Vista?

+2

Je serais surpris d'apprendre que c'est possible de faire sans utiliser ACPI. AFAIK, ACPI est le protocole au niveau du BIOS pour l'interfaçage avec ces composants ... – rmeador

+5

Quel fan? CPU? GPU? Cas? Plafond? –

+1

Semblable à [this] (http://stackoverflow.com/questions/485448/programmatically-access-cpu-fan-on-a-laptop-windows) question. Si vous êtes intéressé, j'ai écrit une réponse là-bas avec des liens vers certains sites que j'ai trouvé utiles dans le développement de mon propre pilote de contrôle de ventilateur. – Boris

Répondre

6

ACPI:

Vous devez apprendre et utiliser le WMI - interface de gestion du système Windows. Voici quelques ressources qui vous donneront des indices sur où commencer:

Notez que certaines cartes mères ne prennent pas en charge les changements de vitesse du ventilateur, et même ceux qui le font ne peuvent pas l'exposer au WMI. Dans le meilleur des cas, vous devrez peut-être détecter le type de carte mère et parler directement aux contrôleurs de gestion de ventilateur.

Non ACPI:

Si vous ne souhaitez pas utiliser ACPI alors vous allez avoir à écrire votre propre code pour accéder au SMBUS sur la carte mère, puis contrôler les puces de contrôleur de ventilateur.

Consultez le programme de surveillance de la carte mère pour savoir comment démarrer. C'est non trivial, puisque chaque carte mère et chaque bios est différent.

+2

Il n'a pas dit API, il a dit ACPI: http://en.wikipedia.org/wiki/ACPI –

+2

Exactement. L'API pour contrôler les fans est ACPI. S'il ne veut pas utiliser l'API conçue pour contrôler les fans, il a beaucoup de travail devant lui. –

+1

Néanmoins édité pour plus de clarté. –

Questions connexes