Pixelsearch Funktion

  • Hallo zusammen, ich bräuchte einmal eure Hilfe bei der Pixelsearch bzw Color Funktion.

    Zurerst damit ihr euch vorstellen könnt worum es geht:

    Wir haben vor kurzen eine Solaranlage auf unser Hausdach bekommen. Diese wird über einen alten PC der als "Server" dient gesteuert. Diese Softwäre schmeißt ca alle 30Minuten(Genaue Zeit müsste ich jetzt nachmessen falls relevant) eine Messagebox raus, mit Quasi 2 Sachen.

    Die erste Box hat einen grünen Haken, sowie einen Text:"Ihr Wasserspeicher wird ausreichend durch Sonnenernergie erhitzt!"

    Die zweite Box hat folglich ein Rotes X sowie den Text : "Es ist nicht genug Energie vorhanden um die gewünschte Tempratur zu erreichen".

    Da ich vor ein paar Jahren mal für die Arbeit ein paar Scripte via Autoit geschrieben habe dachte ich, ich könnte hiermit auch eine einfache Lösung herzaubern.

    Dazu habe ich mir bereits folgendes an Code überlegt :

    Spoiler anzeigen

    Jetzt aber zu meiner Frage, wie kann ich jetzt mittels If Abfrage in der Pixelsearch überprüfen ob es Rot oder Grün ist, bzw das er wenn es nicht Rot ist die Aktion für Grün ausführen soll.

    Da wenn ich als Beispiel bei dem jetzigen Code einfach eine Msgbox auswerfen lasse, geht es immer. Wenn es Grün ist. Wenn aber die Rote Box kommt, schließt sich das Script mit einem Error.


    Gerne auch nur Beispiele wie ich eine If Abfrage mit dem Pixelsearch Event Werten abgleichen kann. Da ich hierbei auch gerne noch etwas lernen möchte.

    Vielen Gruß

  • Hallo Fiesel !

    'Willkommen im Forum' :).

    Um es gleich vorweg zu schreiben :

    Fragen rund um Pixelsearch / ImageSearch wird, speziell wenn es sich um Erstbeiträge handelt, mit einer gehörigen Portion Misstrauen begegnet. Hintergrund ist, dass genau diese Funktionen i.d.R. für Spielebots oder vergleichbare Operationen, die unseren Forenregeln widersprechen, genutzt werden.

    Es gibt meist zuverlässigere Verfahren um solche Probleme zu lösen !

    Poste bitte :

    -> den Namen der Software, die eure Solaranlage steuert

    -> Screenshots (ganze Anwendung, nicht nur die Messagebox) der jeweiligen Statushinweise, also :

    ----> "Ihr Wasserspeicher wird ausreichend durch Sonnenenergie erhitzt!"

    ----> "Es ist nicht genug Energie vorhanden um die gewünschte Temperatur zu erreichen"

    (persönliche Daten wie Namensangaben etc. kannst Du ja schwärzen, falls vorhanden)

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Hallo Musashi!

    Ersteinmal vielen vielen Dank.

    Dies kann ich natürlich voll und ganz nachvoll ziehen. Da sich wohl mit dieser Programiersprache sehr viel in dem Bereich anstellen lässt.


    Beim Screenshoten habe ich leider das Problem, das die Message Boxen, den ganzen Bildschirm "einfrieren" und diese erst bestätigen bevor sich selbst die Windowsleiste wieder drücken lässt.

    Die Software selber gibt es meines wissensnach nicht im Internet, da wir unsere Solaranlage über eine russische Firma bezogen haben. Und die "Entwickeln" wohl dieses Programm, was sie als Software verkaufen individuell für jeden Kunden, da ich nicht mal die Möglichkeit habe ein Raum hinzuzufügen. Ich würde sie gerne für euch hochladen da uns aber das verbreiten in jeglicher Artundweise Vertraglich beim Kauf unterbunden wurde möchte ich hier kein Risiko zu eingehen. Ich denke ihr könnt dort auch meine Sicht verstehen.

    Da es aber allen anschein nach keine andere Lösung gibt, würde ich dich bitten dann das Thema hier zu schließen. Bzw vieleicht sogar löschen, damit keiner auf die Idee kommt mit dieser Art und Weise eine Spielemanipulationssoftware herzustellen.

    Nocheinmals Vielen Dank für deine Schnelle und Ehrliche Antwort :)

  • Da es aber allem Anschein nach keine andere Lösung gibt, würde ich dich bitten dann das Thema hier zu schließen. Bzw vieleicht sogar löschen, ...

    Meines Erachtens nach hast Du nichts Illegales preisgegeben, sondern nur gefragt. Es gibt daher eigentlich keinen Grund die Beiträge zu löschen. Dein Codeschnippsel ist irrelevant.

    Ich würde abwarten, ob andere User hier ggf. einen Lösungsansatz beisteuern können/wollen.

    Das Thema schließen kann man auch später noch.

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Hallo Fiesel

    Schau doch einfach mal in die Hilfe zur PixelSearch-Funktion. Dort gibt es ja auch ein Beispiel, dass genau das macht, was du suchst.

    Hallo, durch deinen Hinweis habe ich es hin bekommen. Da ich davon ausgegangen bin das ich dann ein True/False Wert zurück bekomme, konnte es natürlich nicht gehen.

    Jetzt habe ich nur noch eine Frage.

    Undzwar habe ich meinen Code zum testen nun so geschrieben:

    Spoiler anzeigen

    Wie kann ich nun im Else bereich diese Funktion Abprubt beenden und die für die andere starten?

    Bislang kenne ich hierbei die beiden Parameter mit EndFunc sowie Exit. Da Endfunc ja im Code steht, kann ich ihn ja nicht mehr mals benutzten. Und Exit würde das ganze Program schließen

  • ExitLoop !

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Und dann geht ehr in dem Fall in die von Startausgeführte Funktion rein richtig?

    Falls ja, wären damit alle Fragen meiner Seite aus gelöst.

    Dafür sage ich euch nocheinmal vielen vielen Dank !

  • Wie kann ich im Else Bereich diese Funktion abrupt beenden und die für die andere starten ?

    Welche 'andere' Funktion soll das denn sein ?

    Und dann geht er in dem Fall in die von _Start ausgeführte Funktion rein richtig ?

    Exitloop sorgt momentan nur dafür, dass die Funktion _Start im Else-Fall (also nach der MsgBox) wieder in die Hauptschleife zurückkehrt.

    (Ich habe Dein Skript etwas umgestellt und einige Konsolenausgaben eingefügt)

    Was soll eigentlich die Func _Pause ?

    Beschreibe den gewünschten Ablauf bitte etwas genauer, oder erstelle am besten ein kleines Programm mit einer einfachen GUI. Dort könnte man den Ablauf dann zu Testzwecken simulieren.

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."