كيف أنفذ برنامج اخر في نافذة برنامجي؟
#1
هل ممكن تشغيل برنامج اخر في برنامجي؟

مثلا لو افتح برنامج الاله الحاسبه من برنامجي عن طريق الضغط على زر
نكتب هذا الكود
كود :
WinExec('C:\Windows\Calc.exe' ,Sw_Show) ;

لكن كيف انفذ برنامج الاله الحاسبه في في نافذة(الفورم) لبرنامجي
بحيث اكون قادر على العمل فيه من داخل برنامجي في نفس النافذه
الرد
#2
السلام عليكم ورحمة الله وبركاته
strongwilled أهلا ومرحبا بك في المنتدى
نأمل أن تكون قد اطعلت على القوانين:
http://www.delphi4arab.net/forum/misc.php?do=showrules

مبدئيا يمكنك استخدام المكون TOleContainer. مرفق مع معظم إصدارات دلفي
بالزر الأيمن عليه اختر Add Object ثم اختر الملف...
أو شيء مثل:
كود :
OleContainer1.CreateObjectFromFile('c:\WINDOWS\system32\calc.exe', True);
لكن...
إذا أوضحت الذي تريد القيام به، قد نجد حلا أفضل.
بالتوفيق.
الرد
#3
السلام عليكم
- Handle مقبض واجهة البرنامج الأساسية .
- TrgWindow إسم الواجهة الأب التي نريد أن ينفذ برنامجنا في حدود إطارها !
كود :
SetParent(Handle,FindWindow(Pchar(TrgWindow),Nil));

بالتوفيق,,
I'M Fly Like A G6

الرد
#4
إقتباس :- Handle مقبض واجهة البرنامج الأساسية .
- TrgWindow إسم الواجهة الأب التي نريد أن ينفذ برنامجنا في حدود إطارها !
بطريقة أخرى:
PHP كود :
procedure TForm1.FormCreate(Sender: TObject);
begin
  
if WinExec('c:\windows\system32\calc.exe', SW_NORMAL) > 31 then
    Windows
.SetParent(FindWindow('SciCalc', nil), Handle)
end; 
الرد
#5
شكرا أخي الكريم kachwahed على التنبيه وان شاء الله أكون حريصا في المرات القادمة
احب أوضح شي أنا مبتدءا في البرمجة
في الحقيقة لا املك معلومات كثيرة عن Handle و TOleContainer

امثال بالصورة التالية
[صورة: images-5235d6ecc1.jpg]
الرد


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


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