التعامل مع البرامج الخارجية ؟
#8
السلام عليكم و رحمة الله

هذا الشرح مأخوذ مباشرتا من منتدى كلية الهندسة المعلوماتية للأخ حسام محمد علي

البرنامج السابق ينقل محتويات نص من الحاسبة الى تطبيقي
المنهج الاول forr := FindWindow('SciCalc',nil);
يبحث عن برنامج الحاسبة في الذاكرة وعندما يجده يعيد ممسك لايساوي nil يدل على العثور عليه

المنهج الثاني
edi := FindWindowEx(forr,0,'Edit',nil);
يبحث عن العنصر ذو الاسم Edit داخل برنامج الحاسبة
المنهج SendMessage يرسل رسالة الى نظام التشغيل ويندوز الى البرنامج المحدد بممسك الوسيط الاول وهنا

الرسالة هي WM_GETTEXT اي اعطني النص المحدد ضمن العنصر Edit
وضعه في الوسيط الرابع للتابع SendMessage

برنامج الذي تريده هو كما يلي:
كود :
uses messages; procedure TForm1.Button1Click(Sender: TObject); var forr, edi : THandle; Tex: string; begin forr := FindWindow('SciCalc',nil); edi := FindWindowEx(forr,0,'Edit',nil); SetLength(Tex,Max_Path); Tex:=Edit2.Text;; SendMessage(edi,WM_SETTEXT,Max_Path,LongInt(@Tex [1])); end;
بالبداية ضع النص المراد ضمن تطبيقك ثم المنهج SendMessage مع الرسالة WM_SETTEXT يرسل الرسالة الى الحاسبة
وبقي لي الغموض فقك في مايخص كيفية الحصول على : SciCalc
و شكرا
- لا شيء من لا شيء ............... ؟
الرد


الردود في هذا الموضوع
التعامل مع البرامج الخارجية ؟ - بواسطة bibill - 23-04-2012, 09:57 AM

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


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