![]() |
Pixel Bereich erkennen und klicken
Hallo alle zusammen
Ich bin schon seit einiger Zeit an einem Programm drann, das ein Mausklick auf eine bestimmte stelle machen soll. So sollte es ablaufen 1. Screenshot wird erstellt (image1) 2. Pixel Bereich (Image2) wird auf Image 1 gesucht 3. Wenn Pixel Bereich gefunden wurde, wird die Maus in die Mitte des Pixel Bereiches gesetzt 4. Ein Linksklick auf die Position wo der Cursor momentan ist Punkt 1-3 funktioniert eigentlich gut: Mein Problem ist der Linksklick wird irgendwie nicht angenommen oder nur ca jedes 10. Mal!? Weiss jemand an was das liegen könnte? Merkwürdigerweise habe ich folgendes zum Klick noch herausgefunden: - Wenn ich den Linksklick in meinem Programm mehrmals ausführen lasse(zb 2 oder 3x klicken, dann funktioniert es öfters (leider dann eben manchmal auch 2 oder 3 mal was zu Fehlern führt...) Kann mir jemand sagen was ich falsch mache?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var pt: Tpoint; p:TPoint; i: Integer; begin image2.visible:=false; image1.Picture.Bitmap:= GetScreenShot; for i := 0 to Listbox1.items.Count - 1 do begin image2.Picture.LoadFromFile(ExtractFilePath(Application.Exename)+'\OBJEKTE\'+listbox1.items[i]); p:= FindBitmap(form1.Image1.Picture.Bitmap,Image2.Picture.Bitmap) ; if p.X=-1=false then begin pt := Mouse.CursorPos; if pt.X = form2.Left+ p.x =false then SetCursorPos(form2.Left+ p.x +(image2.Picture.width div 2) , p.y+ form2.Top+ (image2.Picture.Height div 2)); mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); end; end; timer2.enabled:=true; end; |
AW: Pixel Bereich erkennen und klicken
Delphi-Quellcode:
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
Sleep(50); //------------------------------------------------ mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); Application.ProcessMessages; //------------------------------ |
AW: Pixel Bereich erkennen und klicken
Also bitte nicht so:
Delphi-Quellcode:
:evil:
if p.X=-1=false then
Warum schreibst du nicht
Delphi-Quellcode:
:thumb:
if p.X <> -1 then
Gleiches gilt natürlich auch für die andere if-Abfrage. |
AW: Pixel Bereich erkennen und klicken
Ouuu.!!!
Danke :-D :thumb: |
AW: Pixel Bereich erkennen und klicken
Mal so nebensächlich - verwendest du zufälligerweise
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz