No nie do końca się z Tobą zgodzę, Opi...
Bo po pierwsze skoro pobiera kolor spod myszy, to znaczy że pobiera go z obszaru ekranu, poza który nie da się myszą wyjechać
Po drugie jak przerobiłem kod na swoją modłę, i wklepałem współrzędne poza ekranem czyli (1290, 1035) (przy rozdzielczości ekranu 1280x1024) to i tak zwróciło mi RGB(255,255,255) zamiast szarego koloru okna.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
ScreenDC:HDC;
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
ScreenDC:=GetDC(0);
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ReleaseDC(0,ScreenDC);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
label1.Caption:=inttostr(getrvalue(GetPixel(ScreenDC, 1290, 1035)));
label2.Caption:=inttostr(getgvalue(GetPixel(ScreenDC, 1290, 1035)));
label3.Caption:=inttostr(getbvalue(GetPixel(ScreenDC, 1290, 1035)));
end;
end.