Verhindern, dass System-Tray-Symbol von Fokus zu stehlen, wenn darauf geklickt
Frage
Ich schreibe eine Anwendung in Java, das ein Symbol in der Taskleiste platziert (über SWT ). Wenn dieses Symbol geklickt wird, möchte ich es automatisch einige Schlüssel eingeben müssen (über die Robot Klasse) in dem, was Textfeld zum Zeitpunkt des Klickens im Fokus ist (in jedem Fenster sein könnte). Leider stiehlt den System Tray-Icon klicken, den Fokus weg von den zuvor fokussierten Fenstern, wodurch die Tastenanschläge zu stehlen.
Gibt es eine Möglichkeit den Text zu veranlassen, getippt in werden die zuvor Fenster fokussiert?
Lösung
Wahrscheinlich nicht, zumindest nicht leicht. Dieses Problem vor diskutiert.
Andere Tipps
Obwohl es keine offizielle Lösung in Betracht gezogen werden kann, habe ich einige Erfolge wurden zu finden, durch ALT+TAB
Tastenanschläge unmittelbar vor Ausgabe der Texttastenanschläge Ausgabe.
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_ALT);
robot.keyRelease(KeyEvent.VK_TAB);
// ... The keyPress/keyRelease pairs for the actual characters now begin
Wie ich schon sagte, ist dies bei weitem nicht eine offizielle Lösung ist, die ALT+TAB
Kombination unter Berücksichtigung kann sich nicht darauf verlassen ein universeller Fokus Umschaltvorbereitungskommando zu sein. Allerdings scheint es, die Rechnung für meine besondere Situation zu passen.