我要获取鼠标坐标并且获取鼠标所在窗口的窗口标题,窗口类名和窗口句柄
该怎么写啊
要求是Delphi的
我要获取鼠标坐标并且获取鼠标所在窗口的窗口标题,窗口类名和窗口句柄
该怎么写啊
要求是Delphi的
这是我以前写的程序
如果不懂可以加我Q 2.7.2.3.9.9.9.5.4询问
procedure TForm1.Timer1Timer(Sender: TObject);
begin
GetCursorPos(CursorPos);
TargetHandle := WindowFromPoint(CursorPos);
Edit8.Text := 'Handle<句柄> -> ' + IntToStr(TargetHandle);
Edit1.Text := 'X_Pos<坐标> -> ' + IntToStr(CursorPos.X);
Edit2.Text := 'Y_Pos<坐标> -> ' + IntToStr(CursorPos.Y);
TmpColorRef := GetPixel(GetDC(0), CursorPos.X, CursorPos.Y);
Edit3.Text := 'ColorRef -> ' + IntToStr(TmpColorRef);
R := GetRValue(TmpColorRef);
G := GetGValue(TmpColorRef);
B := GetBValue(TmpColorRef);
Edit5.Text := 'R -> ' + IntToStr(R);
Edit6.Text := 'G -> ' + IntToStr(G);
Edit7.Text := 'B -> ' + IntToStr(B);
Edit4.Text := '#' + IntToHex(R, 2) + IntToHex(G, 2) + IntToHex(B, 2);
Image2.Canvas.Brush.Color := RGB(R, G, B);
Image2.Canvas.FillRect(Rect(0, 0, Image2.Width, Image2.Height));
GetWindowText(TargetHandle, TitleBuf, Length(TitleBuf));
GetClassName(TargetHandle, ClassNameBuf, Length(ClassNameBuf));
Edit9.Text := GetProcessExePath(TargetHandle);
Edit10.Text := 'Title<标题> -> ' + TitleBuf;
Edit11.Text := 'ClassName<类名> -> ' + ClassNameBuf;
Edit12.Text := 'ThreadID<线程ID> -> ' + IntToStr(GetWindowThreadProcessId(TargetHandle, @ProcessID));
Edit13.Text := 'ProcessHandle<进程句柄> -> ' + IntToStr(OpenProcess(PROCESS_ALL_ACCESS, true, ProcessID));
Edit14.Text := 'ProcessID<进程ID> -> ' + IntToStr(ProcessID);
end;