A példa használatához két feltétel szükséges: az egyik, hogy az adott gépben ASUS alaplap legyen, a másik, hogy az alaplaphoz mellékelt CD lemezen található PC Probe nevű alkalmazás fel legyen telepítve a számítógépre. E programmal együtt kerül a gépre az Asus.dll állomány is, melynek függvényeit meg fogjuk hívni saját alkalmazásunkból és ily módon megtudhatjuk a szükséges hőmérséklet adatokat.
A PC Probe nevű alkalmazás alapértelmezésben a C:\Program Files\ASUS\Probe mappába kerül. Amikor programunk fut, akkor az e mappában lévő DLL-eket el kell hogy érje. Ez alapértelmezett esetben nem sikerül. Ennek megoldására meg kell adnunk az elérési útvonalak között e mappát is. Ehhez kattintsunk jobb gombbal az Asztalon lévő Sajátgépen, majd a Tulajdonságok menüpont választásával megjelenő ablakon a Speciális lapon lévő Környezeti változók nevű gombra kattintsunk.
Az ekkor megjelenő ablak alsó részén lévő listából keressük elő a Path nevű elemet, majd kattintsunk a Szerkesztés gombra.
Ekkor újabb ablak jelenik meg. Itt a Változó értékénél adjuk meg a C:\Program Files\ASUS\Probe mappát is a többi után egy pontosvesszővel elválasztva.
Zárjuk be az ablakokat OK gombbal, majd indítsuk újra a gépet. Ezek után a szükséges DLL-ek már bármely program számára bárhonnan hozzáférhetők lesznek.
A példaprogram
A megvalósítás ezek után már egyszerű: létrehozunk egy Asus nevű osztályt, melyben két függvényt deklarálunk külsőként. A GetCPUTemperature a processzor hőmérsékletét adja meg, míg a GetMBTemperature az alaplapét.
public class Asus
{
[DllImport("asus.dll")]
public static extern Int32 GetCPUTemperature();
[DllImport("asus.dll")]
public static extern Int32 GetMBTemperature();
}
A függvények felhasználása szintén egyszerű, mivel paramétert sem várnak. Visszatérési értékük pedig az adott hőmérsékleti érték Celsius fokban mérve.
private void button1_Click(object sender, System.EventArgs e)
{
label1.Text = Asus.GetCPUTemperature().ToString();
label2.Text = Asus.GetMBTemperature().ToString();
}