Einzelnen Beitrag anzeigen

SentinelPH

Registriert seit: 15. Mai 2007
9 Beiträge
 
#14

Re: aktuellen Cursor mit Delphi auslesen

  Alt 16. Mai 2007, 23:12
@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
  Mit Zitat antworten Zitat