Ich habe festgestellt, dass setforegroundwindow sehr flockig sein kann - egal wie Sie es tun.UI Automation Switch-Fenster
Ich habe festgestellt, dass die Verwendung von UIAutomation, wo es möglich ist, Dinge zu verbessern scheint.
Zum Beispiel:
die Window und zu mit so etwas wie:
windowPattern.SetWindowVisualState(WindowVisualState.Normal);
windowPattern.SetWindowVisualState(WindowVisualState.Maximized);
Nun meine Fragen ist:
Wie ich weiß, ob ich es maximiert oder normal machen. Der Aufgabenleiter und natürlich auch der Drache scheinen zu wissen, wie das geht. Wenn es zuvor maximiert und dann minimiert wurde, möchte ich das Fenster maximieren, wenn ich darauf umstelle. Wenn es vorher nicht maximiert war, würde ich es gerne "Normal" machen.
Irgendwelche Ideen?
Diese etwas nützlich ist, aber ich würde müssen wissen, was als visual passieren in zu verwenden. Nehmen wir an, ich mache eine Task-Switch-Anwendung. Ich habe die Hwnd und dann das AutomationElement für ein Fenster, das derzeit in der Taskleiste minimiert ist. Ich weiß nicht, wie ich feststellen kann, ob das Fenster zuvor in einem maximierten oder normalen Zustand war. Ich wüsste also nicht, ob ich diese Funktion "Normal" oder "Maximiert" weitergeben soll. – Derek
@Derek Ich habe meine Antwort aktualisiert, und ich denke, es tut, was Sie besser suchen. Ich habe ein paar sehr grundlegende Tests durchgeführt und es schien genauso zu funktionieren, wie der "Switch To" im Task-Manager funktionierte. – Gray