Sorry ^^ aber ich hab das auch nur auf die schnelle zusammengestrickt.
Als Entschädigung hier der richtige Code:
Delphi-Quellcode:
// Form1 enthält
// 1 TTimer Objekt, Intervall = 100
// 1 TEdit namens Koord
// 1 TEdit namens Color
// die OnTimer Prozedur des Timers sieht so aus:
procedure TForm1.Timer1Timer(Sender: TObject);
var
hDesk : HWND;
hdcDesktop : HDC;
crefPixel : COLORREF;
p : TPoint;
begin
GetCursorPos(p);
Koord.Text := 'X = ' + inttostr(p.x) + ' Y = ' + inttostr(p.y);
hDesk := GetDesktopWindow;
hdcDesktop := GetWindowDC(hDesk);
crefPixel := GetPixel(hdcDesktop, p.x, p.y);
color.Text := inttostr(crefPixel);
ReleaseDC(hDesk, hdcDesktop);
end;
Allerdings schreibt
HIER jemand, dass er bei einem ähnlichen Programm in Visual Basic ein Memory-Leak hat.
Hab das mal kurz getestet mit dem Task-Manager. Am Anfang braucht mein Programm 2004 kB Speicher, das wird dann auch tatsächlich immer mehr... immer wenn ich mit der Maus über ein "neues" Fenster drüberfahre (wo die Maus vorher noch nicht war) wird es mehr.
Nach einiger Zeit sind es dann 2388 KB Speicher.