Farben ändern

  • Halli Hallo zusammen hab n kleines Problem ich mach gerade nen Jagdschein und würde gerne die Prüfungsfragen durchgehenweil ich berufschule 2 wochen lang hab und bis dahin nur über handy bzw handy hotspot ins inet kann sind meine möglichkeiten auch begrenzt. Problem: Hab ne rot grün schwäche. Ich kann deswegen den unterschied der grünen und roten kreuze nicht wirklich auseinander halten bzw erst nach 10 sek anstarren. dachte mir daher ich änder einfdacvh die farbe der pixel und problem wäre gelöst^^

    Spoiler anzeigen
    [autoit]

    sleep(5000)
    $handle=wingethandle("DLV - fit zur schriftlichen Jägerprüfung")
    for $x=0 to @DesktopHeight
    for $y=0 to @Desktopwidth
    $farbe=PixelGetColor ($x,$y)
    if $farbe=0xE8F1E0 then
    SetPixel(0x000C0258, $x, $y, 0xFBF18F)
    mousemove($x,$y)
    endif
    next
    next

    [/autoit] [autoit][/autoit] [autoit]

    msgbox(0,"","")

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func SetPixel($handle, $x, $y, $color)
    Local $dc = DllCall("user32.dll", "int", "GetDC", "hwnd", $handle)
    DllCall("gdi32.dll", "long", "SetPixel", "long", $dc[0], "long", $x, "long", $y, "long", $color)
    DllCall("user32.dll", "int", "ReleaseDC", "hwnd", 0, "int", $dc[0])
    EndFunc ;==>SetPixel

    [/autoit]

    warum zum teufel färbt er die pixel nicht ein? finden tut er sie ja offensichtlich
    wenn wer ne lösung für mein Problem hat bzw noch eleganter bereits ein Programm/einstellungen bei vista kennt die das Problem lösen wär ich sehr verbundenXD
    Gruß
    Max

  • Es soll helfen die Hilfe zu lesen... (-> PixelgetColor)

    [autoit]

    $hWindow = WinGetHandle("Unbenannt - Editor")

    [/autoit][autoit][/autoit][autoit]

    For $x = 0 To @DesktopHeight
    For $y = 0 To @DesktopWidth
    $color = "0x" & Hex(PixelGetColor($x, $y), 6)
    ConsoleWrite($color & @LF)
    If $color = 0xE8F1E0 Then
    SetPixel($hWindow, $x, $y, 0xFBF18F)
    EndIf
    Next
    Next

    [/autoit][autoit][/autoit][autoit]

    MsgBox(0, "", "")

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    Func SetPixel($handle, $x, $y, $color)
    Local $dc = DllCall("user32.dll", "int", "GetDC", "hwnd", $handle)
    DllCall("gdi32.dll", "long", "SetPixel", "long", $dc[0], "long", $x, "long", $y, "long", $color)
    DllCall("user32.dll", "int", "ReleaseDC", "hwnd", 0, "int", $dc[0])
    EndFunc ;==>SetPixel

    [/autoit]

    Und das MouseMove() habe ich jetzt mal entfernt! Wir unterstützen hier keine Bots/Betrugsprogramme und ich hab außerdem keine Lust auf zu viele Typen mit ner Jägerlizens, die im Wald rumballern... ;)

    LG
    Christoph :)

    • Offizieller Beitrag

    und ich hab außerdem keine Lust auf zu viele Typen mit ner Jägerlizens, die im Wald rumballern


    [OT]
    Aber da muß ich den Jäger mal in Schutz nehmen.
    Die Wildbestände haben in unseren Wäldern stark zugenommen. In vielen Gebieten übersteigt es deutlich die Sättigungswerte (max. Anzahl Tiere je Fläche). Es mag Ausnahmen geben - aber in der Regel sind Jäger verantwortungsbewußte Gesellen, denen die Hege und Pflege des Wildes am Herzen liegt. Und dazu gehört nunmal auch die Regelung der Bestandsgröße. Und kommt mir bitte nicht mit dieser Scheinmoral "oooch, die armen Rehlein.." dreht euch dann um, geht in die Küche und bratet euch ein Steak. :whistling:
    [/OT]

  • in der Regel sind Jäger verantwortungsbewußte Gesellen, denen die Hege und Pflege des Wildes am Herzen liegt.

    Das seh ich auch so, allerdings könnte sich das ändern, wenn die JagdSchein-Prüfung automatisch per Script erledig wird... ;)
    Okay das war jetzt genug OT... :D

    LG
    Christoph :)

  • das mousemove hab ich riengemacht damit ich sehe ob er die farben findet... Die Prüfung wird schriftlich ohne rechner gemacht... Hätte nicht gedacht dass man wegen nem mousemove befehl den verdacht des bottens erweckt auch wenn ich dieselben befehle dafür brauche.
    Wenn ich dafür nen bot haben wollte würd ich das mit ner Datenbank lösen wo ich die ersten 4 wörter oder so eingebe das wäre leicht per handy zu lösen ;)

  • Hey :D

    Niiiiijaaaaa..... Weisst du, PixelGetPos oder andere Funktionen welche mit Pixeln zu tun haben in Kombination von MouseMove oder ähnlichem....ist immer ein heikles thema :D

    Greez

  • So konnte es jetzt testen ich versteh zwar nicht warum es jetzt klappt hätte es doch normal vorher auch schon christoph, du hast doch nur an der Erkennung der farbe gebastelt, aber da sich mein mauszeiger beim testen an die positionen bewegt hat sollte er das doch auch gemacht haben O.o verstehe ich nicht warum das bei mir nicht geklappt hat... Hätte eig gedacht es liegt an der set pixel funktion bzw dem handle oder so
    Danke nochmal fürs lösen ;)

  • ich versteh zwar nicht warum es jetzt klappt
    ...
    du hast doch nur an der Erkennung der farbe gebastelt, aber da sich mein mauszeiger beim testen an die positionen bewegt hat sollte er das doch auch gemacht haben O.o verstehe ich nicht warum das bei mir nicht geklappt hat... Hätte eig gedacht es liegt an der set pixel funktion bzw dem handle oder so


    Genau beim Handle hast du auch einen Untrschied:

    [autoit]

    SetPixel(0x000C0258, $x, $y, 0xFBF18F)

    [/autoit]

    Du benutzt nicht das ermittelte Handle sondern einen fixen Wert. Handles werden aber beim Erzeugen des Fensters vergeben, es ist Zufall wenn dieses bei Neustart des Programms gleich ist. Du hast also im Nirgendwo oder einem anderen Fenster die Farben verändert.

    mfg autoBert