كيف اعرف مقبض النافذة واسم القسم classname والنافذة المفعلة focusedhand و ground
#5
جيد ... الطريقة سهله جداً ... فقط تحتاج بعض الاسطر والقيل من الفهم ...

سنضع الكود في مكون 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 )

والباقي عليك Smile

نكمل الكود السابق بهذا الكود ونكون قد حصلنا على المعلومات السابقة :

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; 

كما ترى العملية كانت سهله .. بينما البعض يضن انها ساطر كثيرة Smile

بالتوفيق آخي

والسلام عليكم
الرد


الردود في هذا الموضوع
كيف اعرف مقبض النافذة واسم القسم classname والنافذة المفعلة focusedhand و ground - بواسطة ALmuhhnad - 31-03-2013, 08:35 PM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم