Meine Aufgabe war es, das Vordergrundfenster zu finden (erreicht mit GetForegroundWindow API) und dann musste ich eine Liste mit allen untergeordneten Fenstern des Vordergrundfensters vorbelegen (ausgeführt mit EnumChildWindows API). Jetzt muss ich das erkennen der Mauszeiger befindet sich auf dem Kindfenster, dh ich muss herausfinden, welches Kindfenster (kann ein Knopf oder eine Textbox im Vordergrundfenster sein) aktiv ist. Gibt es eine API, mit der ich Griffe der ChildWindows erhalten kann, auf die geklickt wurde? Auch wenn ich nur den Namen des ChildWindow (des aktiven Vordergrundfensters), auf dem der Fokus liegt, bekomme, reicht es mir. Vielen Dank im Voraus.Erkennen, welches Childwindow des Vordergrundfensters angeklickt wurde?
2
A
Antwort
3
InPtr hwnd = GetForegroundWindow();
public static void GetAppActiveWindow(IntPtr hwnd)
{
uint remoteThreadId = GetWindowThreadProcessId(hwnd, IntPtr.Zero);
uint currentThreadId = GetCurrentThreadId();
//AttachTrheadInput is needed so we can get the handle of a focused window in another app
AttachThreadInput(remoteThreadId, currentThreadId, true);
//Get the handle of a focused window
IntPtr focussed = GetFocus();
StringBuilder activechild = new StringBuilder(256);
GetWindowText(focussed, activechild, 256);
string textchld = activechild.ToString();
if (textchld.Length > 0)
{
Console.WriteLine("The active Child window is " + textchld + " .");
}
//Now detach since we got the focused handle
AttachThreadInput(remoteThreadId, currentThreadId, false);
}
Dies ist, was die schließlich das Problem gelöst :)
Verwandte Themen
- 1. Erkennen, welches Element angeklickt wird
- 2. Herausfinden, welches Symbol in UIActivityViewController angeklickt wurde
- 3. Recgnize wenn Objekt in SceneKit angeklickt wurde
- 4. Erkennen, welches Ergebnis aus der MYSQL-Auswahl ausgewählt wurde?
- 5. Jquery - finde heraus, welches Radio angeklickt wurde und triggert einen Klick für das Geschwister
- 6. Wie erkennt man, auf welches einheitliche Raster geklickt wurde?
- 7. erkennen, ob etwas geändert wurde
- 8. geben Sie ein Objekt zurück, das anzeigt, welches Element angeklickt wurde
- 9. Welche Schaltfläche wurde in einem Bestätigungsdialog angeklickt
- 10. Erhalten Mitglied, welches Attribut von innerhalb des Attributkonstruktors angewendet wurde?
- 11. Ermitteln, welches Wort in einer Android-Textansicht angeklickt wird
- 12. Erkennen, wie eine Batch-Datei ausgeführt wurde
- 13. Wie ChildWindow blockiert
- 14. jQuery: Welches Element wurde ausgelöst?
- 15. Auf welches Bild wurde zugegriffen?
- 16. Wie zu erkennen TableTable Zelle in Swift berührt oder angeklickt
- 17. Welches Designmuster ist es? Kann nicht erkennen
- 18. Wie zu erkennen, welche Tabelle Zelle in Swift 2 angeklickt
- 19. WPF ListView - erkennen, wenn das ausgewählte Element angeklickt wird
- 20. Erkennen und speichern angeklickt verknüpft in einem div
- 21. Wie Fenster zu erkennen, wurde
- 22. Wie überprüft man, welches Segment verwendet wurde
- 23. So erhalten Sie, welches Fragment ausgewählt wurde
- 24. Auf welches Segment einer Polylinie wurde geklickt?
- 25. Server des ClickOnce-Programms erkennen?
- 26. Erkennen, ob eine App deinstalliert wurde
- 27. Wenn editButtonItem angeklickt wurde, wird kein rotes Löschsymbol angezeigt
- 28. Funktion - Schaltfläche wird nur angezeigt, nachdem eine andere angeklickt wurde?
- 29. Protokollierung, welche Zelle im Tabellenarray mit Ereignis-Listener angeklickt wurde
- 30. Überprüfen, ob eine Schaltfläche in einem Bereich angeklickt wurde
Warum sind Sie mit einer anderen Anwendung Fenster durcheinander? Wenn dies für die Testautomatisierung vorgesehen ist, können Sie den System.Windows.Automation-Namespace verwenden. –
Dies ist keine Test-Automatisierung .... Es braucht viel Zeit, um zu erklären, was meine App zu tun beabsichtigt, aber ich werde Sie schnell informieren, ich muss die Liste der Kindfenster, die in der aktiven Anwendung sind, vorbelegen Verfolgen Sie die Bewegungen (Klicks) des Benutzers und leiten Sie ihn darüber, was er als nächstes tun soll, indem Sie auf das Nachschlagen verweisen, das mit EnumChildWindows erstellt wurde, so dass ich genau wissen muss, welches Kindfenster den Fokus hat. Kannst du mir bitte ein paar Hinweise geben, wie es mit System.Windows.Automation geht .... Danke im Voraus! – Ajit
Oh, das ist für Computer-basiertes Training. System.Windows.Automation kann immer noch nützlich sein. Sie können die Dokumentation lesen, um auf dem neuesten Stand zu sein. Ich werde nicht versuchen, Sie in einem Kommentar zu unterrichten. –