Klingt gut - das ist sicher die "sauberere" Variante als jedes Pixel zu vergleichen (auch wenn auch das klapp^^).
Wie würde das dann aussehen?
Warum läuft das nur in Proceduren von Objekten - dachte mir das eher so...:
Delphi-Quellcode:
var icon_alt : TIcon;
procedure TfrmXYZ.FormCreate(Sender: TObject);
begin
ico_alt := TIcon.Create;
end;
function verglCursor : boolean;
var icon_neu : TIcon;
var ThreadID : cardinal;
begin
ico_neu := TIcon.Create;
try
ThreadID := GetWindowThreadProcessID(WindowFromPoint(Mouse.CursorPos), nil);
if ThreadID <> GetCurrentThreadId then
begin
if AttachThreadInput(ThreadID, GetCurrentThreadId, true) then
begin
icon_neu.Handle := GetCursor;
AttachThreadInput(ThreadID, GetCurrentThreadId, false);
end;
end
else
icon_neu.Handle := GetCursor;
if icon_alt.Handle = icon_neu.Handle then
result := true
else
result := false;
icon_alt := icon_neu;
finally
icon_neu.Free;
end;
end;
//Inkompatible Typen: 'HICON' und 'procedure, untyped pointer or untyped parameter'
...
Habe leider keine Ahnung von
Handle und co - bastel damit so rum ohne es richtig zu verstehen
Gruß Philipp