PixelSearch in Delphi

  • Hi, dann die ... vom DP das annscheinend nicht wollen :


    http://www.delphipraxis.net/topic154252_pixelsearch.html
    CrossPost :


    Hi Leute,

    suche 'nen Code mit dem ich in einem gewissen Fenster
    ( nicht FORM1!! sondern METIN2 ^^) nach einer gewissen Farbe gucken kann.

    Dann hab ich den Pixel (bräuchte ihn allerdings vom ganzen Bildschrim (wegen mouse_event)

    Ich sage ganz ehrlich dass ich einen Bot Programmieren will, aber das auch aus Interesse,
    einen "selbständigen" Computer, das ist schon etwas.

    Optional wäre es genial wenn mir jemand sagen könnte wie ich meine Koordinaten auslesen kann.

    Also im Spiel werden sie ncht angezeigt, sondern ich brauche irgend eine andere Möglichkeit


    MFG berlinermauer

  • Das dürfte ca. so gehen:
    1. Du holst dir mit GetWindowRect(xhWnd, r) das Rechteck des Fensters relativ zum BIldschirm.
    2. Du holst die mit GetClientRect das Rechteck des Fensters relativ zu ihm selbst (obere linke Ecke)
    3. Du loopst mit einer Doppelschleife durch alle Pixel des Fensters.
    4. Du liest mit GetPixel den aktuellen Pixel aus
    5.???
    6. PROFIT!!!


    falls es dir hilft, hier ein Source zu dem Thema, allerdings in VB6: http://www.activevb.de/tipps/vb6tipps/tipp0201.html

  • Zitat von berlinermauer;15130

    hm also richtig durchgeblickt hab ich da nicht,


    Gibt's da nicht einfach eine Funktion?!


    In AutoIt zB gibbet eine



    Wo liegt das Problehm?
    Also was APIs sind solltest du bevor du einen Bot programmieren willst schon wissen und sie auch benutzen können.


    Hier die Microsoft Dokumentation über WinAPI:
    GetWindowRetc: http://msdn.microsoft.com/en-us/library/ms633519(VS.85).aspx


    Für konkrete Beispiele einfach googlen z.B. nach "Delphi GetWindowRetc".
    Oder ist das garnet das Problehm???

    [CENTER]Aktuelles Projekt:

    Status: 5%
    Real Coder doesn't code Visual Basic. Real Coder codes Opcodes.[/CENTER]

  • Gibt ja auch einen Befehl .. sogar einen ganzen Befehlssatz. Nennt sich Windows API :X


    Geht halt nicht einfacher .. und das Benutzen einer API wird trotzdem noch das Einfachste am ganzen Bot sein.

  • Also einen Befehl, mir dem man einfach nen Pixel auf dem Bildschirm ausgeben kann, den gibt es nicht so einfach. Man muss irgendwie vorgehen, so wie wenn du es manuell machen würdest. Du würdest z.B. einen Screenshot machen, und dann nach dem Pixel suchen. Und der Maus kannst du dann sagen, dass sie diesen Pixel anklicken soll, etc.


    Erklär mal, was du genau nicht verstehst? Allgemein, wie man Pixel in Bildern findet. Oder wie man das Bild von dem Spiel bekommen soll? Es kann auch sein, dass nur ein schwarzes Bild gemacht wird, da das Bild nur ein Overlay ist, ich kenn mich da nicht ganz aus. Aber beschreib mal wie weit du kommst.