Einzelnen Beitrag anzeigen

Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: aktuellen Cursor mit Delphi auslesen

  Alt 16. Mai 2007, 21:56
Zitat von SentinelPH:
//Inkompatible Typen: 'HICON' und 'procedure, untyped pointer or untyped parameter'
An welcher Stelle kommt denn die Fehlermeldung, habe den Code mal getestet aber bei mir kam so eine Meldung nicht.

So ging es bei mir:
Delphi-Quellcode:
var
  icon_alt : TIcon;

procedure TForm1.FormCreate(Sender: TObject);
begin
  icon_alt := TIcon.Create;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  icon_alt.Free;
end;

function verglCursor : boolean;
var
  icon_neu : TIcon;
  ThreadID : cardinal;
begin
  icon_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;

    result := icon_alt.Handle = icon_neu.Handle;
    icon_alt.Handle := icon_neu.Handle;
  finally
    icon_neu.Free;
  end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 if not verglCursor then
   beep;
end;
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat