Rechner minimieren

  • Hallo,
    ich habe da ein kleines Problem mit dem Windows-Taschenrechner.
    Ich benütze oft ein Programm, bei dem ich verschiedene Berechnungen mit dem Taschenrechner ausführen muss.
    Also Starte ich zuerst ein kleines Script, dass zuerst den Taschenrechner aufruft, diesen dann minimieren soll und zuletzt das andere Programm startet.
    Das funktioniert auch, bis auf das minimieren des Taschenrechners, das macht Probleme.

    Zum aufrufen und minimieren des Taschenrechners benütze ich folgende Programmzeilen:

    Opt("MouseCoordMode", 0)
    Run(@SystemDir & "\Calc.exe") ; Taschenrechner aufrufen
    ProcessWait("calc.exe") ; warten bis der Prozess des Taschenrechners existiert
    MouseClick("LEFT", 205, 11, 1, 0) ; klick auf den Minimieren-Button des Taschenrechners

    Das minimieren geht anscheinend nur mit "MouseClick()".
    Den Rechner mit: "Run(@SystemDir & "\Calc.exe", "", @SW_MINIMIZE)" minimiert starten, geht nicht.
    Nur erscheint da öfters das Startmenü oder der Taschenrechner wird nicht minimiert.

    Gibt es da eventuell noch eine andere Möglichkeit, den Taschenrechner zuverlässig zu minimieren ?


    MfG:
    BigRox

    Einmal editiert, zuletzt von BigRox (9. Februar 2011 um 12:51)

  • Hallo Molaynox,
    danke für den Tipp.

    AutoIt hat mitlerweile so viele Funktionen, da verliert man ab und zu einfach den Überblick.
    Da braucht man eben einen kleinen Hinweis und schon geht es weiter.

    MfG:
    BigRox

  • aber dennoch ist der "Run" Befehl veraltet

    Seit wann denn das?
    Es sind lediglich 2 unterschiedliche Funktionen welche 2 unterschiedliche API-Funktionen ansteuern: >>ShellExecute<< und >>CreateProcess<<
    ShellExecute kann mehrere Aktionen auf eine Datei durchführen ("öffnen, editieren, drucken...") wenn für diesen Datei wenn für diesen Dateityp eine entsprechende Eintragung in der Registry gesetzt wird.
    Run hingegen startet direkt einen Prozess ohne irgendeine Verknüpfung mit einem anderen Programm welche erst in der Registry nachgeschlagen werden muss.
    Run() ist mitnichten veraltet und da ich in der Regel die PID des gestarteten Prozesses benötige nützt mir ShellExecute() gar nix.

    BigRox
    Bleib bei Run() - es ist hier vollkommen egal was du nimmst.