Window maximieren

  • Hallo,

    auch wenn das Thema nicht neu und eigentlich simpel ist, so finde ich doch nach zahlreichen Versuchen keine Lösung dafür mit AutoIt.

    Ich möchte ein Programm, das nur einmal gestartet werden kann, abfragen ob es schon gestartet ist (dann maximieren) oder starten. Sollte es schon gestartet sein, kommt von Programmseite her (und manuellem weiteren Startversuch) eine Fehlermeldung, bzw. ein Hinweis, dass nur einmal gestartet werden kann.

    Übrigens funktionierte es sofort einwandfrei mit AutoHotkey und diesem Text:

    Code
    IfWinExist, programname
    {
    WinActivate
    }
    else
    {
    Run, program.exe
    }

    Wenn ich jedoch meine Versuche mit AutoIt festhalte (hier sind noch einige Tests zu sehen :-)):

    schaut es aus, als ob es in dieser Version funktionieren würde. Jedoch ist im Falle des nur maximierten Programmes keine Minimierung mehr möglich. D.h. der Minimierungs-Button oben in der rechten Ecke funktioniert nicht mehr. Schließen und auf normale Größe zu bringen ist möglich...

    Hat jemand eine Idee?

    Dank und Gruß
    Thomas

    2 Mal editiert, zuletzt von TJF (26. September 2008 um 16:13)

  • Waren meine ersten Versuche. Geht nicht, bzw. geht nur scheinbar, weil sich das Programm zwar (wenn es schon gestartet ist) maximiert, jedoch dann nicht mehr minimieren läßt (über den Min.-Button oben rechts)....

  • Nochmal zusammenfassend: Das hier geht scheinbar

    Code
    WinActivate("program", "")
        WinSetState("program", "", @SW_MAXIMIZE)

    Es funktionieren beim maximierten Programm oben rechts in der Ecke der "Schliessen" und der "Normalisierungs"-Button. Der "Minimierungsbutton" ist dann tot.

  • Mit AutoHotKey hast du das Fenster nicht Maximiert, sondern nur aktiviert!

    Du musst also zuerst wieder

    [autoit]

    WinSetState("Testprogramm","",@SW_RESTORE)

    [/autoit]


    und dann

    [autoit]

    WinSetState("Testprogramm","",@SW_MINIMIZE)

    [/autoit]


    oder einfach beides in der einen oder anderen Reihenfolge, irgendwie geht das schon.

    [autoit]

    WinActivate("Testprogramm")
    WinSetState("Testprogramm","",@SW_RESTORE)

    [/autoit]


    Trotzdem: Ein eigenartiges Programm! :)