unit Unit_Mouse; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Menus; type TForm1 = class(TForm) PopupMenu1: TPopupMenu; N1: TMenuItem; procedure N1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; i:integer; //全局变量 implementation {$R *.dfm} //自写函数 function proc(icode:integer;wparam:wparam;lparam:lparam):lresult;stdcall; var evtmsg:teventmsg; begin evtmsg:=peventmsg(lparam)^; Form1.Left:=mouse.CursorPos.X+10; form1.Top:=mouse.CursorPos.Y+10; if evtmsg.message=WM_RBUTTONUP then Form1.N1.Click; end; procedure TForm1.N1Click(Sender: TObject); begin N1.Checked:= not N1.Checked; if N1.Checked then i:=setwindowshookex(WH_JOURNALRECORD,proc,hinstance,0) else unhookwindowshookex(i); Top:=(screen.Height-Height)div 2; Left:=(screen.Width - width-55) div 2; end; end.