2009-04-24 7 views
5

Jak używać C++ do kontrolowania prędkości wentylatora procesora w systemie Windows Vista Ultimate? Chciałbym użyć ACPI.Jak mogę kontrolować prędkość wentylatora mojego komputera przy użyciu C++ w systemie Vista?

+2

Byłbym zaskoczony, gdy dowiem się, że można to zrobić bez użycia interfejsu ACPI. AFAIK, ACPI jest protokołem na poziomie BIOSu służącym do łączenia się z tymi komponentami ... – rmeador

+5

Który wentylator? PROCESOR? GPU? Walizka? Sufit? –

+1

Podobne do [this] (http://stackoverflow.com/questions/485448/programmatically-access-cpu-fan-on-a-laptop-windows) question. Jeśli jesteś zainteresowany, to napisałem tam odpowiedź z linkami do stron, które okazały się pomocne w rozwijaniu mojego własnego sterownika wentylatora. – Boris

Odpowiedz

6

ACPI:

Musisz poznać i skorzystać z WMI - interfejs do zarządzania systemem Windows. Oto kilka zasobów, które daje wskazówki na temat czego zacząć:

Zauważ, że niektóre płyty nie obsługują zmiany prędkości wentylatora, a nawet te, które robią, mogą nie narazić tego na WMI. W najlepszym wypadku możesz nadal wykrywać typ płyty głównej i rozmawiać bezpośrednio z kontrolerami zarządzania wentylatorami.

Nie ACPI:

Jeśli nie chcesz korzystać z ACPI wtedy będziesz musiał napisać własny kod, aby uzyskać dostęp do SMBus na płycie głównej, a następnie kontrolować chipów kontrolera wentylatora.

Zapoznaj się z monitorem płyty głównej programu, aby uzyskać wskazówki, jak rozpocząć. To nietrywialne, ponieważ każda płyta główna i bios są inne.

+2

Nie powiedział API, powiedział ACPI: http://en.wikipedia.org/wiki/ACPI –

+2

Dokładnie. API do kontrolowania wentylatorów to ACPI. Jeśli nie chce korzystać z interfejsu API zaprojektowanego do sterowania wentylatorem, czeka go dużo pracy. –

+1

Niemniej jednak zredagowano dla zachowania przejrzystości. –