@fLaSh11 Danke
@bitsetter:
habe es jetzt nochmal umgebaut:
Delphi-Quellcode:
function getIcon : TIcon;
var ThreadID : cardinal;
begin
result := TIcon.Create;
try
ThreadID := GetWindowThreadProcessID(WindowFromPoint(Mouse.CursorPos), nil);
if ThreadID <> GetCurrentThreadId then
begin
if AttachThreadInput(ThreadID, GetCurrentThreadId, true) then
begin
result.Handle := GetCursor;
AttachThreadInput(ThreadID, GetCurrentThreadId, false);
end;
end
else
result.Handle := GetCursor;
finally
result.Free;
end;
end;
function verglCursor : boolean;
var icon_neu : TIcon;
begin
icon_neu := TIcon.Create;
icon_neu := getIcon;
if icon_neu.Handle = icon_alt.Handle then
result := true
else
result := false;
icon_neu.Free;
end;
procedure XYZ.FormCreate(Sender: TObject);
begin
icon_alt := TIcon.Create;
icon_alt := getIcon;
end;
procedure XYZ.Timer1Timer(Sender: TObject);
begin
if verglCursor = true then
beep
end;
procedure XYZ.FormDestroy(Sender: TObject);
begin
icon_alt.Free;
end;
wenn jetzt getIcon in FormCreate aufgerufen wird minimiert sich das Programm welches im Vordergrund ist (was ich nicht will) - Delphi gibt aber keine Fehlermeldung aus.
Vielen Dank bitsetter für deine Mühe und Geduld!
Gruß Philipp