Hemen hızlı bir giriş yapalım değil mi :)
Şimdi asıl olay şu yaptığımız bir programdan diğer açık olan program pencerelerini nasıl kontrol ederiz? Tabiki user32 DLL'i ile :)
[DllImport("user32.dll")]
public static extern int FindWindow(
string lpClassName, // class name
string lpWindowName // window name
);
Bu fonksiyon bizim açık olan programı buluyor ve bize onun Windows altındaki ID'sini veriyor. Tabiki "windows name" parametresine programın tam adının yazılması gerekli.
[DllImport("user32.dll")]
public static extern int SetForegroundWindow(
int hWnd // handle to window
);
Burası ise biraz önceki ID değerini alarak, bu ID'ye sahip olan pencereyi ön tarafa getiriyor.
[DllImport("user32.dll")]
public static extern int SendMessage(
int hWnd, // handle to destination window
uint Msg, // message
int wParam, // first message parameter
int lParam // second message parameter
);
Bu fonksiyonla ise açık olan pencereye mesaj gönderebiliyoruz. Mesela klavyeye dokunmadan notpad'i aktif yapıp oraya birşeyler yazabiliriz :)
Gerisi sizin hayal gücünüze ve yapmak istediklerinize kalmış. Sormak istediğiniz bir şey varsa çekinmeyin hemen sorun. Mümkün olan en kısa sürede cevaplamaya çalışacağım.
İyi çalışmalar..
Şimdi asıl olay şu yaptığımız bir programdan diğer açık olan program pencerelerini nasıl kontrol ederiz? Tabiki user32 DLL'i ile :)
[DllImport("user32.dll")]
public static extern int FindWindow(
string lpClassName, // class name
string lpWindowName // window name
);
Bu fonksiyon bizim açık olan programı buluyor ve bize onun Windows altındaki ID'sini veriyor. Tabiki "windows name" parametresine programın tam adının yazılması gerekli.
[DllImport("user32.dll")]
public static extern int SetForegroundWindow(
int hWnd // handle to window
);
Burası ise biraz önceki ID değerini alarak, bu ID'ye sahip olan pencereyi ön tarafa getiriyor.
[DllImport("user32.dll")]
public static extern int SendMessage(
int hWnd, // handle to destination window
uint Msg, // message
int wParam, // first message parameter
int lParam // second message parameter
);
Bu fonksiyonla ise açık olan pencereye mesaj gönderebiliyoruz. Mesela klavyeye dokunmadan notpad'i aktif yapıp oraya birşeyler yazabiliriz :)
Gerisi sizin hayal gücünüze ve yapmak istediklerinize kalmış. Sormak istediğiniz bir şey varsa çekinmeyin hemen sorun. Mümkün olan en kısa sürede cevaplamaya çalışacağım.
İyi çalışmalar..
Yorumlar