Jak w C# pobrać nazwę aktualnie aktywne okienka? ma ktoś jakiś pomysł?
głównie chce sterować np. allplayer poprzez skróty klawiszowe które będzie podawać aplikacja.
"wciskanie klawiszy" przez aplikację już mam SendKeys.Send
0
2
class Program {
[DllImport("user32.dll")]
static extern IntPtr GetForegroundWindow();
[DllImport("user32.dll")]
static extern int GetWindowText(IntPtr hWnd, StringBuilder text, int count);
static string GetActiveWindowTitle() {
const int count = 256;
var hwnd = GetForegroundWindow();
var buffer = new StringBuilder(count);
if(GetWindowText(hwnd, buffer, count) > 0) {
return buffer.ToString();
}
return null;
}
static void Main(string[] args) {
var title = GetActiveWindowTitle();
if(title != null) {
Console.WriteLine("Tytul aktywnego okna => {0}", title);
}
}
}
Drobny edit:
Widze, ze sie bawisz w korzystanie z API Windowsa w C#, wiec dorzuce jeszcze 2 linki:
http://pinvoke.net/index.aspx -> sygnaturki funkcji winapi, jakie maja byc w C#. + drobne docsy.
http://msdn.microsoft.com/en-us/library/ff818516(v=vs.85).aspx -> opis calego winapi ;]