在自己的窗口(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里设定时间的间隔)就获取鼠标的位置
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里设定时间的间隔)就获取鼠标的位置
commonly, you may use FindwindowEx(hparent,0,lpszClass,lpszName)
to get the child window .