在自己的窗口(Form1)上放一个Timer控件,两个edit控件,在Timer控件的OnTimer里写:
procedure TForm1.Timer1Timer(Sender: TObject);
var
  ClassName: PChar; //控件类名
  ptCursor: TPoint; //鼠标位置
  hWndOver: HWND;  //窗口句柄
begin
  GetCursorPos(ptCursor); //获取鼠标位置
   //获取鼠标下的窗口句柄,可以是别的程序的窗口
  hWndOver := WindowFromPoint(ptCursor);
  GetMem(ClassName, 100); //分配内存
  try
    //获取鼠标下控件的类名
    GetClassName(hWndOver, ClassName, 100); 
    //在自己窗口的edit1中显示获取的类名
    edit1.Text :=String(ClassName);
  finally
    FreeMem(ClassName); //释放内存
  end;
end;
Timer控件的作用就是使每隔一段时间(在Timer控件的interval里设定时间的间隔)就获取鼠标的位置