Warum wird das Script nicht pausiert

  • Hallo Profis,

    es geht um folgende Frage:

    Warum wird das Script nicht pausiert bei Aufruf der ShellExecuteWait?:cursing: Runwait funzt ebenso wenig. :cursing: die CPL wird geöffnet und das Script startet sofort die Batch-Datei. Es sollen aber erst die Dispalyskalierung geändert werden bevor das Script weiter geht...

  • Hallo Oscar,

    danke für den Tipp aber der bedingt, dass das OS in deutsch läuft. Hier läuft das OS aber überwiegend in English.
    Ich konnte herausfinden das im Taskmanager eine Systemsettings.exe gestartet wird. Mit dieser geht Shellexecutewait oder Prozesswaitclose auch nicht.
    Vielleicht kennt jemand den dazugehörigen Prozess:?:

  • Mit Windows 10 geht es so:

    AutoIt
    Run(StringFormat('"%s\control.exe" desk.cpl', @SystemDir))
    Global $hWnd = WinWait('[CLASS:ApplicationFrameWindow; REGEXPTITLE:Einstellungen|Settings]', '', 3)
    If IsHWnd($hWnd) Then
        WinWaitClose($hWnd)
        ConsoleWrite('> Close!' & @CRLF)
    Else
        ConsoleWrite('! Error!' & @CRLF)
    EndIf
  • Hallo Oscar,

    ich will erreichen, das das Script wartet bis der user die Displayskalierung eingestellt hat um dann sich selbst neu zu starten, damit alles richtig angezeigt wird. Hintergrund:

    Es soll ein Testprogramm werden mit dem die Akkulaufzeit von Laptops getestet werden soll indem ein Video im Dauerdurchlauf bis zum Erreichen des low batterylevel
    erreicht wird und das Lappi dann herunterfährt. Dabei wird der Ladezustand und die Zeit protokolliert. Bisher mit Batchdateien und Drittprogrammen realisiert was aber sehr unzuverlässig ist.
    die zu testenden Lappis haben verschiedene OS(Deutsch, bevorzugt aber Englisch) und leider verschiedene Auflösungen und Skalierungen. Und das ist das Problem.
    Die Gui wird bei 1920*1080 und 100% richtig dargestellt wobei die Auflösung nicht das Problem ist, sondern die Skalierung. Starte ich das Programm mit anderer Skalierung und lass den User diese ändern,
    dann muss die Gui/das Programm auch neu gestartet werden, damit sich die Änderung auswirkt.

    @ Bitnugger:

    Vielen dank für den Vorschlag. ich teste es direkt einmal...

  • Hallo Oscar,

    geschafft das Proggi läuft. Ich starte es mit einer kleinen Größe(1280 x 1024) lasse die Aüflösung und oder Skalierung ändern und setze es dann hoch mit WinSetState($Form1, "", @SW_MAXIMIZE)

    vielen Dank für deine und eure Hilfe:rock: