Thema: Delphi Maus in Fenster halten

Einzelnen Beitrag anzeigen

MaToBe

Registriert seit: 2. Aug 2008
162 Beiträge
 
#11

Re: Maus in Fenster halten

  Alt 15. Nov 2009, 18:06
ich habe es jetzt per timer gelöst. Intervall alle 0,1 sekunde. Ist zwar nicht die beste Lösung, funktioniert aber.
Delphi-Quellcode:
procedure Mousefreeze (wHandle : HWND);
var Rect : TRect;
begin
  GetWindowRect(wHandle, Rect);
//Die Werte dann eventuell etwas anpassen
  Rect.Left:=Rect.Left+10;
  Rect.Right:=Rect.Right-20;
  Rect.Top:=Rect.Top+30;
  Rect.Bottom:=Rect.Bottom-10;
  ClipCursor(@Rect);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Result : string;
  Rect : TRect;
begin
  Result := inputbox('Handle finden', 'Geben Sie bitte den Namen des Fensters '
                      + 'ein, von dem das Window-Handle ermittelt werden soll.','');
  wHandle := FindWindowByTitle(Result);
  if wHandle <> 0 then // if we found the Window-Handle
  begin
    ShowMessage('Window-Handle found');
// ShowWindow(h, SW_Maximize);
    Mousefreeze(wHandle);
    Timer1.Enabled := true;
  end
  else
    ShowMessage('not found.');
end;


procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Mousefreeze(wHandle);
end;
Hat jemand noch ne Verbesserungsmöglichkeit (außer Hook)?
  Mit Zitat antworten Zitat