31-03-2013, 06:12 PM
31-03-2013, 06:45 PM
السلام عليكم ورحمة الله وبركاتة
هل تريد ان تقوم بتحديد عملية وبعد ذلك تعرف النوافذ الخاصة بها ومقابضها واسماء الاصناف ... مثل برامج الـ SpyWindow ?
هل تريد ان تقوم بتحديد عملية وبعد ذلك تعرف النوافذ الخاصة بها ومقابضها واسماء الاصناف ... مثل برامج الـ SpyWindow ?
31-03-2013, 06:54 PM
انا كان عندي برنامج لما تمر الفأرة فوق عنصر في النافدة تعطيني تلك الأمور
31-03-2013, 08:04 PM
تفضل أخي .. فقط أضف تايمر
PHP كود :
procedure TForm1.Timer1Timer(Sender: TObject);
var p: TPoint ;
hWin:THandle;
CN: PChar;
begin
GetCursorPos(p);
hWin:=WindowFromPoint(p);
Caption:=IntToHex(hWin,8);
GetMem(CN,250);
Windows.GetClassNameA(hWin,CN,250);
Edit1.Text:=CN;
Edit2.Text:=IntToHex(GetForegroundWindow,8);
FreeMem(CN,250);
end;
31-03-2013, 08:35 PM
جيد ... الطريقة سهله جداً ... فقط تحتاج بعض الاسطر والقيل من الفهم ...
سنضع الكود في مكون Timer حيث سيتم جلب موقع الماوس وبعد ذلك جلب الهاندل والمعلومات التي تتعلق به
في البداية نحتاج جلب مقبض النافذة(Handle Window) التي يمر عليها الماوس وساذكر احد الاكواد التي كتبها
أخي المبرمج SMP3 في احد المواضيع
كود جلب مقبض النافذة :
والآن بعد ان حصلنا على مقبض النافذة ...
من المقبض سنخرج اسم الصنف ( ClassName )
وكذلك عنوان النافذة ( WindowTitle )
وايضاً رقم العملية ( ProcessId )
والباقي عليك
نكمل الكود السابق بهذا الكود ونكون قد حصلنا على المعلومات السابقة :
كما ترى العملية كانت سهله .. بينما البعض يضن انها ساطر كثيرة
بالتوفيق آخي
والسلام عليكم
سنضع الكود في مكون 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;
كما ترى العملية كانت سهله .. بينما البعض يضن انها ساطر كثيرة

بالتوفيق آخي
والسلام عليكم
31-03-2013, 08:36 PM
هههه يبدو ان اخي المبرمج smp3 سبقني ... على العموم المعلومة وصلت وهذا هو المهم