26-03-2013, 03:21 PM
الصفحات : 1 2
26-03-2013, 03:30 PM
نعم ,استخدم FindWindow or FindWindowEx أو EnumWindows
26-03-2013, 04:02 PM
أخى العزيز اليك هذة الصورة توضيح أكثر
أذا أعتبرنا أن برنامجى على الجانب الايمين والفورم الاسود لأى برنامج أخر...
عندما أضغط على زر فى برنامجى يقوم بتنظيف Edit1.text فى البرنامج الاخر هل هذة الفكرة مستحيلة أم أن شاء الله سهلة.
كود :
http://www6.0zz0.com/2013/03/26/14/863578310.jpgعندما أضغط على زر فى برنامجى يقوم بتنظيف Edit1.text فى البرنامج الاخر هل هذة الفكرة مستحيلة أم أن شاء الله سهلة.
26-03-2013, 04:38 PM
بالطبع ليست مستحيلة !!
تفضل :
تفضل :
PHP كود :
var DLG :THandle;
begin
DLG :=FindWindow(0,'Play');
DLG:= FindWindowEx(DLG,0,'TEdit',0);
SendMessage(DLG,WM_SETTEXT,0,LParam(PChar('')));
end;
29-03-2013, 08:48 AM
أخى الكريم جربت الكود ولكن لم يصلح معى ممكن ترسلى المشروع أفضل .. او تحددلى ما هى الخطوات ربما أكون سهوت عن شئ ما.
29-03-2013, 12:52 PM
Play تمثل عنوان النافذة
TEdit الكلاس الخاص ب مكون Edit الذي تستعمله
TEdit الكلاس الخاص ب مكون Edit الذي تستعمله
29-03-2013, 01:52 PM
اشكرك جزيلاّ أخى
من قبل كان عندى مشروع بالفيجوال بمجرد مرور الفارة أحصل على عنوان النافذة ولكن تم فرمتت الجهاز من كل شئ واعيده مرة أخرى بلغة الدلفى.
من قبل كان عندى مشروع بالفيجوال بمجرد مرور الفارة أحصل على عنوان النافذة ولكن تم فرمتت الجهاز من كل شئ واعيده مرة أخرى بلغة الدلفى.
29-03-2013, 02:17 PM
تفضل :
PHP كود :
procedure TForm1.Timer1Timer(Sender: TObject);
var p: TPoint ;
hWin:THandle;
begin
GetCursorPos(p);
hWin:=WindowFromPoint(p);
Caption:=IntToHex(hWin,8);
end;
29-03-2013, 04:14 PM
اخى بخصوص دالة FindWindow يتم تعريفها فى الفيجولهكذا
ولكن كيف أقوم بتعريفها فى الدلفى وفى اى مكان انا جربت الكود هذا
ولكناى برنامج اخر خارج الدلفى ليس له أى تأثير
كود :
Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( ByVal lpClassName As String , ByVal lpWindowName As String ) As Integerكود :
var dlg :thandle;
begin
dlg :=findwindow(0,'play');
dlg:= findwindowex(dlg,0,'tedit',0);
sendmessage(dlg,wm_settext,0,lparam(pchar('')));
end;29-03-2013, 04:39 PM
karika2 كتب :بخصوص دالة FindWindow يتم تعريفها فى الفيجولمن المنتقلين حديثا للدلفي
.. أحسن مافعلت .. , كنت أيضا مبرمج vb لكني انتقلت للدلفي سريعا
بالنسبة لسؤالك فلن تحتاج الى تعريف دوال Api في دلفي , فأغلبها معرفة في الوحدة Windows.pas
على غرار الفيبي و التي تتطلب تعريف بالدالة ..
إقتباس :الكود ضعه مثلا في حدث ButtonClick على سبيل المثالكود :var dlg :thandle; begin dlg :=findwindow(0,'play'); dlg:= findwindowex(dlg,0,'tedit',0); sendmessage(dlg,wm_settext,0,lparam(pchar(''))); end;
يجب التنويه أن الكلاس الخاص بالأداة Edit هو TEdit و سيختلف الكلاس من لغة برمجة لأخرى مثلا الدوت نت TextBox .. الخ , لذلك ممكن أن الكود لن يعمل معك اذا أرسلت له كلاس خاطئ ..
ان تكلما عن ال IDM فليس هناك صندوق نص Edit .. هناك ListView ===> Class :SysListView32
الصفحات : 1 2