HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Aktív alkalmazás váltásának figyelése programból


Példaprogram letöltése

8132 bájt

A példánkban most annak járunk utána, hogy miként tudjuk figyelni azt az eseményt, amikor a felhasználó egyik alkalmazásról átvált egy másikra. Példaprogramunk folyamatosan jelzi, hogy melyik alkalmazás aktív aktuálisan.

A megvalósításhoz két Windows függvényt kell használnunk: az egyik segítségével lekérdezhetjük annak az ablaknak az azonosítóját, mely éppen aktív, majd a másikkal ennek az azonosítónak a segítségével meghatározhatjuk az adott ablak fejlécének szövegét.
Az aktív ablak azonosítóját a GetForegroundWindow függvény adja vissza.
    [DllImport("user32.dll")] 
    public static extern int GetForegroundWindow(); 
Egy adott ablaknak a fejléc szövegét a GetWindowText függvény adja vissza. Itt első paraméterként az ablak azonosítóját kell megadni, majd ezt követően egy buffer területet, ahová az ablak fejléc szövegének sztringje másolásra kerül. Harmadik paraméterben a buffer méretét kell megadni.
    [DllImport("user32.dll")] 
    public static extern int GetWindowText(int hWnd, StringBuilder text, int count);
Ezek után már egyszerű a dolgunk: egy Timer komponens segítségével rendszeresen lekérdezzük, hogy melyik az aktív ablak és megjelenítjük a fejlécének szövegét. Ha átváltunk egy másik programra, akkor a következő Timer Elapsed eseménynél már értesül erről a tényről alkalmazásunk is.
    private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
    {
      StringBuilder sb = new StringBuilder(256);
      Win32.GetWindowText(Win32.GetForegroundWindow(), sb, 256);
      label1.Text = sb.ToString();
    }

Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2002 évkönyv 375. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |