Button Farbe Ändern wenn ein Prozess läuft

  • Hallo,

    stehe gerade mal wieder auf dem Schlauch um ein Problem zu lösen.

    Ich muss ein kleines Programm schreiben was Anzeigt ob ein Prozess läuft.

    Basis ist ein altes Programm, was ich mal geschrieben habe.

    Was soll passieren der Button "PN4000" soll Grün sein wenn der Prozess läuft.

    Läuft er nicht soll er Rot sein.

    Es ist mir Klar das es mit if ProcessExists("blablaexe") geht.

    Allerdings wie baue ich das ganze in meine GUI sinnvoll ein.

    Danke für die Tipps.


    Gruß

    Steffen

  • hi,
    du musst doch nur die Abfrage in die Schleife packen

  • Das ist ein interessantes Skript.


    Mir ist aufgefallen, dass der Button (wahrscheinlich durch die Aktualisierung) flackert (die Schrift springt), unabhängig davon, ob der Button grün oder rot ist.


    Wie sieht eine Lösung aus, bei der der Button (die Schrift) nicht flackert?

  • Hi,

    Einfach nur dann aktualisieren, wenn sich der Wert seit der letzten überprüfung geändert hat.
    Dazu muss man nur den letzten Wert von ProcessExists nehmen und diesen mit dem aktuellen vergleichen.

    z.B. so:


    oder so:

    mfg
    Zeitriss

  • So in etwa...

    ButtonColor
  • So in etwa..

    Das Flackert bei mir richtig viel! Auch das Hochzählen ist nicht in Ordnung oder wolltest du wirklich die einzeln Starts zählen?

    Natürlich sehen deine Buttons schöner aus ;)

    Und ja ich hatte noch in meinem Skript Fehler :)


    Hi,

    Einfach nur dann aktualisieren, wenn sich der Wert seit der letzten überprüfung geändert hat.
    Dazu muss man nur den letzten Wert von ProcessExists nehmen und diesen mit dem aktuellen vergleichen.


    mfg
    Zeitriss

    Dei Skript habe ich heute auch getestet.
    Oberes geht flackert aber auch.
    Unteres geht nicht zeigt nicht das richtige an.

    Was mir noch aufgefallen ist @Andy


    AutoIt
    GUICtrlSetData($Kommen, "läuft" & @CRLF & "nicht")

    Leider wird @CRLF wird nicht beachtet. Habe auch noch nicht raus gefunden wie ich es hin bekomme.

    Ich habe in meine Schleife noch eine Pause von 1000 eingefügt, dann ist das Flackern nicht so schlimm. Programm läuft bei mir auf einem Rechner den ich nur per VNC Aufrufe.

    Hier noch meine Aktuelle Version.

    Spoiler anzeigen


    Vielleicht will noch jemand die Lösung finden.

    • Offizieller Beitrag

    Wenn Du das flackern verhindern willst, dann benutze einfach eine zusätzliche Variable, um abzufragen, ob der Status bereits geändert wurde:

    Dann brauchst Du den zusätzlichen Sekunden-Sleep nicht und kannst sogar den Sleep in der Endlosschleife verringern (falls da noch mehr passieren soll).

  • Wenn Du das flackern verhindern willst, dann benutze einfach eine zusätzliche Variable, um abzufragen, ob der Status bereits geändert wurde:

    Dann brauchst Du den zusätzlichen Sekunden-Sleep nicht und kannst sogar den Sleep in der Endlosschleife verringern (falls da noch mehr passieren soll).

    Hallo Oskar,

    brauche zwar nicht mehr in meiner Schleife aber man kann ja nie wissen.

    Spoiler anzeigen


    Jetzt nur noch die Frage Zweizeiliges Button Beschriftung.

  • Hallo,

    habe heute noch etwas an meinem Programm geändert.

    Jetzt habe ich aber das Problem, dass der Prozess nur überwacht wird, wenn ich nach dem Programmstart die Exe setzte in den Einstellungen.

    Was mache ich falsch?
    Man erkennt es schön wenn der Button türkis ist.

    Habt ihr eine Lösung wie ich das Passwort Verschlüsseln kann in der INI. Klar ist mir das jeder das Programm, rückübersetzten kann und damit die Verschlüsselung rückgängig machen kann.