gibt es eine Anwendung mit 5 Fenstern. Ich habe die PID dieses Prozesses, und wie kann ich alle WindowHandles dieses Prozesses bekommen?C#: Holen WindowHandles aller Fenster von Prozessname
danke.
gibt es eine Anwendung mit 5 Fenstern. Ich habe die PID dieses Prozesses, und wie kann ich alle WindowHandles dieses Prozesses bekommen?C#: Holen WindowHandles aller Fenster von Prozessname
danke.
Beginnen Sie mit einigen PInvoke Zeug beschrieben in dieser MSDN article.
Benutzer etwas wie folgt aus:
Process[] processes = Process.GetProcesses(".");
foreach (var process in processes)
{
var handle = process.MainWindowHandle;
}
ja. ich weiß das. Was ist mit den anderen 4 Fenstern? – Lzzzra
ok. Sie können über alle Fenster iterieren und die Prozess-ID vom HWND abrufen und diese Prozess-ID mit der ID abgleichen, an der Sie interessiert sind. Überprüfen Sie GetWindowThreadProcessId –
die Mainwindowhandle holen und dann EnumChildWindows auf es nennen.
Vielleicht verwalteten Code aufrufen wird besser sein als PInvoke, können Sie mehr hier Managed Windows API
finden die Mainwindowhandle Holen ans dann rufen [EnumChildWindows] (http://www.pinvoke.net/default.aspx/user32 .enumchildwindows) darauf. –