Registriert seit: 12. Mai 2010
Ort: königsbronn
398 Beiträge
RAD-Studio 2009 Pro
|
AW: Button in anderer Anwendung
17. Feb 2011, 22:19
Delphi-Quellcode:
var
hButton :THandle;
ButtonRect :_Rect;//das ist ein c-Typ //evtl auch nur Rect
Farbe : TColor;//????
bit : TBitmap;//TODO: schauen, ob Graphics.TBitmap oder Windows.Bitmap
can : TCanvas;
begin
res:=GetWindowRect(hButton, @ButtonRect);//vllt ohne @
posx := (ButtonRect.Left + ButtonRect.Right) div 2;
posy := (ButtonRect.Top + ButtonRect.Bottom) div 2;
can.Handle := GetWindowDC(0);
try
bit := TBitmap.Create;
try
bit.Width := Screen.DesktopWidth;
bit.Height:= Screen.DesktopHeight;
bit.PixelFormat := pfDevice;
BitBlt(bit.Canvas.Handle,
0,
0,
Pred(Screen.DesktopWidth),
Pred(Screen.DesktopHeight),
can.Handle,
Screen.DesktopLeft,
Screen.DesktopTop,
bit.Canvas.CopyMode);
Farbe:=bit.Canvas.Pixels[posx,posy]//<--geändert
finally
bit.Free;
end;
finally
ReleaseDC(0, can.Handle);
end;
end;
k.A ob das funktioniert. im Zweifelsfall nach jedem API aufruf ein GetLastError.
PS: bei dem Ansatz wirst du Probleme mit mehreren Monitoren kriegen
Geändert von WM_CLOSE (18. Feb 2011 um 07:13 Uhr)
|
|
Zitat
|