textsuche random

  • Hallo

    ich habe folgendes problem, unzwar möcht ich einen script scripten der den bildschirm nach einem Text absucht und nicht nur nach einem pixel an einer bestimmten stelle! Dieser Text kann überall auf dem bildschirm auftauchen hat immer die gleiche fontsize, fontart und farbe. Probelm ist nur das mit dem befehl pixelgetcolor ich nur einen bestimmten pixel abfragen kann was dann auf zufall hinauslafen würde das dieser der entsprechende text ist.

    vorgestellt hab ich mir entweder ein befehl der halt nach dem text sucht oder irgendwelche gebundene pixelgetcolor befehle die auf dem ganzen bildschirm suchen

    danke im vorraus auch wenn sowas villeicht nicht möglich ist

    2 Mal editiert, zuletzt von MarcoPolo (26. Februar 2008 um 08:31)

  • sry konnte nicht wissen das ihr unter bot einen bot für spiele meint dies ist aber hier nicht der fall!

    was ich scripten will, ist für ein antivirenprogramm das viele meiner anwendungen nachfrag, ob sie auch wirklich ausgeführt werden sollen. leider besitzen nicht alle meldungen die er anzeigt einen : immer zulassen Button

    um mir dies zu ersparen wollte ich einen solchen script dafür benutzten aber er sollte auch wissen, was er da immer zulassen soll

  • Moin MarcoPolo,

    erstmal auch von mir willkommen im Forum.
    Du sagst ja das der Text immer den gleichen Font und die gleiche Farbe hat.
    Ich könnte mir vorstellen das man alle 10 Pixel prüft und wenn die Farbe stimmt den ersten Buchstaben als Pixelmuster sucht (weiß im Moment auch noch nicht wie man das am geschicktesten macht ;) ).

    • Offizieller Beitrag

    sry konnte nicht wissen das ihr unter bot einen bot für spiele meint dies ist aber hier nicht der fall!

    Dann entschuldige, dass ich Dich falsch verstanden habe. Es gab nur schon ziemlich viele solcher Fragen, die immer wieder auf das Gleiche (Gamebot) hinausliefen.

    Dein Problem ist in der Tat schwierig. Passiert das denn bei immer den gleichen Programmen? Dann könnte man mit ControlClick arbeiten. Ansonsten müßte man mit OCR (Texterkennung) arbeiten, was recht aufwendig ist.

    Vielleicht wäre es einfacher, wenn Du Dir ein anderes AntiVirenProgramm zulegst?! ;)


  • ...
    Vielleicht wäre es einfacher, wenn Du Dir ein anderes AntiVirenProgramm zulegst?! ;)


    Problem ist dabei, das dieser pc kein home pc ist sondern für die arbeit benutzt wird. Diese PC sind alle mit dem gleichen virenprogramm und gleichem netzwerk angeschlossen. die rechte auf diesen PC's sind sehr eingeschränk, was dann aufs surfen und programme starten reduziert ist. die meisten setups können so nicht ausgeführt werden da mein Konto keine Adminrechte besitzt

    es ist nicht schlimm wenn es dafür aufwendig wird (das leben ist halt nicht leicht :) )

    mit ocropus konnte ich leider nicht den text finden und es mit autoit verknüpfen

    3 Mal editiert, zuletzt von MarcoPolo (24. Februar 2008 um 13:47)

  • mit OCR programmen konnte ich leider nichts richtiges zusammenstellen (sry4dpost)

    könnte man den gebundenen searchpixel und pixelgetcolor befehle einsetzen? das problem ist aber es taucht mal rechts mal links und mal mittig usw auf

    Einmal editiert, zuletzt von MarcoPolo (24. Februar 2008 um 13:56)

  • Schau mal mit au3Info, was du für Infos über das Fenster herausbekommst.
    -Haben die Warnfenster immer den gleichen titel?
    -Ist am Text irgendetwas gleic, das nicht in anderen Fenstern vorkommt?
    -Hat der zulassen-button immer den gleichen CLASSNAMENN?

  • also der classname ändert sich immer ,wenn eine neue warnung kommt

    wenn ich den button makiere, steht dort nicht button oder sonstiges

    classname schwingt immer hin und her ( letzter : eter - s0:b4:p:4d64c0 )

  • Tja, gerade, dass ein Virus das nicht einfach bestätigen kann :(
    Wenn der Button eine ALT+Taste Kombination hat, kannst du die ja ans Fenster senden.

  • ich hab sowas auch mal gemacht. das mit ocr ist sehr stressig.wenn ich es richtig verstanden habe, solltest du dann eben erstmal alle meldungen in nem array speichern. dann muss es ocr lesen vllt in ner txt datei kopieren und später könntest du es ja mit "filereadline" lesen lassen und mit den meldungen im array vergleichen. das fällt mir dazu ein. aber in dem fall würde das manuelle klicken wohl schneller gehen^^.allein das lesen mit ocr dauert wahrsch 10 sekunden. oder mach es mit mehreren getpixelcolour befehlen. so nach dem motto

    $ergebnis = getpixelcolour...

    if $ergebnis = "..." then

    $1 = getpixelcolour

    if $1 = "..." then

    mouseclick...

    else

    $test = getpixelcolour....

    ....

    ...

    endif

    endif


    das wäre allerdings auch wieder ziemlich zeitaufwendig und du müsstest jede einzelne meldung kennen.

    im notfall empfehle ich dir: Schalte dein antivirprogramm aus ;)

  • ok danke für eure hilfe

    habs nun mit mehreren pixelgetcolor befehlen gemacht (so an die 100 stück)

    die meisten meldungen lässt er nun automatisch zu

    kleine frage noch:

    sagen wir ich benutze den searchpixel befehl für nen bestimmten pixel und wenn er ihn gefunden hat, soll er etwas drüber oder drunter klicken

    habs mir so gedacht

    Code
    $SearchPixel = PixelSearch(0, 0, 800, 600, 0xEB1609)
    If @error then 
     Sleep (10)
     EndIf
    If not @error Then
     Mouseclick ( "left" , $SearchPixel +10, $SearchPixel +10 )
    endif

    nur findet er die koordinate nicht und klickt in die obere linke ecke

  • Moinsen, du bekommst ein Array zurück, in deinem Fall:
    x = $SearchPixel[0]
    y = $SearchPixel[1]
    Du hast nur die hübschen eckigen Klammern vergessen ;)

    [autoit]


    $SearchPixel = PixelSearch(0, 0, 800, 600, 0xEB1609)
    If @error then
    Sleep (10)
    Else
    Mouseclick ( "left" , $SearchPixel[0] + 10, $SearchPixel[1] + 10 )
    EndIf

    [/autoit]

    Mfg
    Jens (McPoldy)

    Twitter: jkroeger

    Denn die Dinge, die wir erst lernen müssen, bevor wir sie tun, lernen wir beim Tun.(Aristoteles)