Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
moin,
bin grad dabei ein kleines programm zu schreiben, dass ein anderes programm starten und danach sofort maximieren/minimieren soll.
Maximieren ist mir momentan wichtiger, daher heisst das thema auch so.
Nur leider bekomme ich ja nur ein Process-Object beim starten eines Programms.
Weiss zufällig einer wie ich es schaffe das Programm zu maximieren/minimieren?
Für zusätzliche Libraries bin ich immer offen.
Momentan bin ich soweit (und das funktioniert schon mal xD):
Java:
Process p = Runtime.getRuntime().exec("blablub"); // programm starten
Prozesse sollte man nur noch per ProcessBuilder starten. Ansonst wirst du afaik nicht daran herum kommen, dir einen Programmcode in einer anderen Sprache zu coden und per JNI/A darauf zuzugreifen.
mit dem ProcessBuilder habe ich leider noch keine erfahrungen, aber ich gucke sofort in der api nach.
ist es damit den möglich auf einfachem wegen wie z.B. mit setState(JFrame.MAXIMIZE) das fenster zu maximieren?
wenn nein, wie wäre es dann mit dem ProcessBuilder möglich das fenster zu maximieren, oder maximiert zu starten?
//EDIT
ich habe mich jetzt ein bisschen informiert, doch leider habe ich in der api nichts gefunden was mich weiterbringt.
achja und ein fertiges paket, welches das einbinden solcher funktionionen auf einfachem wege ermöglicht binde ich auch gerne ein, da das programm sowieso nur unter windows benutzt wird.
unter Windows kann man es über die Kommandozeile machen, falls ein Programmfenster sich maximieren lässt:
Java:
Process p = Runtime.getRuntime().exec("start /MAX notepad.exe");
Process p = Runtime.getRuntime().exec("start /MIN notepad.exe");
Allgemeiner kann man es über den java.awt.Robot machen. Wenn das neue Fenster nach dem Start den Focus hat, kann man z.B. unter Windows die Kombination ALT+Spacebar+X fürs Maximieren verwenden. ALT+Spacebar+N fürs Minimieren und ALT+Spacebar+W für ein normales Fenster. Doch Vorsicht bei der letzteren Kombination, diese geht nur in einem deutschen Windows. In der englischen Version wäre es ALT+Spacebar+R.
Damit habe ich schon gearbeitet. Die Robot-klasse ist ganz nett und damit wäre es theoretisch auch möglich sich zu dem maximieren-Button zu navigieren und zu klicken, jedoch ist es entweder extrem störanfällig oder benötigt sehr viele Informationen um richtig zu funktionieren.
also müsste mein Java-Programm dann ein Screenshot analysieren können, das Firefox-Fenster unter möglicherweise mehreren herausfinden und dann abhängig von welchem theme herausfinden wo genau sich der maximieren-Button befindet.
diese Lösung würde leider den rahmen sprengen, aber vielen dank für den Vorschlag.
leider muss ich morgen wieder früh raus, aber wenn ich dann endlich nachmitteags zuhause ankomme werde ich es gleich ausprobieren und die DANKEs verteilen xD
auch möglich sich zu dem maximieren-Button zu navigieren und zu klicken, jedoch ist es entweder extrem störanfällig oder benötigt sehr viele Informationen um richtig zu funktionieren
mhn dazu wäre es interessant die abmessung und die postition des fensters zu finden. Das schaffst du aber ohne jna/jni auch nicht. Falls es doch jemand mal braucht -> bei mir melden. Hab das mal gechrieben.