جيد ... الطريقة سهله جداً ... فقط تحتاج بعض الاسطر والقيل من الفهم ...
سنضع الكود في مكون Timer حيث سيتم جلب موقع الماوس وبعد ذلك جلب الهاندل والمعلومات التي تتعلق به
في البداية نحتاج جلب مقبض النافذة(Handle Window) التي يمر عليها الماوس وساذكر احد الاكواد التي كتبها
أخي المبرمج SMP3 في احد المواضيع
كود جلب مقبض النافذة :
PHP كود :
procedure TForm1.tmr1Timer(Sender: TObject);
var
PositionMouse : TPoint;
HandleWindow : THandle;
begin
GetCursorPos(PositionMouse);
HandleWindow := WindowFromPoint(PositionMouse);
end;
والآن بعد ان حصلنا على مقبض النافذة ...
من المقبض سنخرج اسم الصنف ( ClassName )
وكذلك عنوان النافذة ( WindowTitle )
وايضاً رقم العملية ( ProcessId )
والباقي عليك
نكمل الكود السابق بهذا الكود ونكون قد حصلنا على المعلومات السابقة :
PHP كود :
procedure TForm1.tmr1Timer(Sender: TObject);
var
PositionMouse : TPoint;
HandleWindow : THandle;
sLen : Integer;
sWindow : String;
dwProcessId : Cardinal;
begin
GetCursorPos(PositionMouse);
HandleWindow := WindowFromPoint(PositionMouse); // Here we get Handle Window
SetLength(sWindow,255); //
GetClassName(HandleWindow,PChar(sWindow),255); // Here we get Class Name ...
edtClassName.Text := sWindow; //
sLen := GetWindowTextLength(HandleWindow); //
SetLength(sWindow,sLen); // Here we get Window title ...
GetWindowText(HandleWindow,PChar(sWindow),sLen + 1); //
edtWindowTitle.Text := sWindow; //
GetWindowThreadProcessId(HandleWindow, @dwProcessId); //
edtProcessId.Text := IntToStr(dwProcessId); // Here we get ProcessId ...
end;
كما ترى العملية كانت سهله .. بينما البعض يضن انها ساطر كثيرة
بالتوفيق آخي
والسلام عليكم