Einzelnen Beitrag anzeigen

Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Harte Nuss: Cursor zu einer bestimmten Farbe springen

  Alt 25. Feb 2008, 16:53
Ja das geht. So bekommst Du das Desktopbitmap im Bereich eines Fensters:
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var
   WindowHandle : HWND;
   DC : HDC;
   Rect : TRect;
   Bmp : TBitmap;
begin
   WindowHandle := FindWindow(nil, PChar('Unbenannt - Editor'));
   if WindowHandle > 0 then
   begin
      DC := GetWindowDc(WindowHandle);
      GetWindowRect(WindowHandle, Rect);
      Bmp := TBitmap.Create;
      Bmp.Pixelformat := pf8bit;
      Bmp.Width := Rect.Right - Rect.Left;
      Bmp.Height := Rect.Bottom - Rect.Top;
      BitBlt(Bmp.Canvas.Handle, 0, 0, Bmp.Width, Bmp.Height, DC, 0, 0, SRCCOPY);
      ReleaseDc(WindowHandle, DC);
      // Hier dann Funktion zum Durchsuchen des Bitmap aufrufen...
      
      Bmp.Free;
   end;
end;
Dann kanst Du FindColorInFor Funktion in z.b. FindColorInBitmap umschreiben. Die Koordinaten musst Du dann noch umrechnen. Allerdings darf das Fenster nicht durch andere verdeckt sein.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat