PDA

View Full Version : سوال: Binding كردن فایل اجرایی



akar_program
جمعه 20 خرداد 1390, 12:48 عصر
سلام دوستان یك فایلی اجرایی درم میخواهم با كلیك كردن روی یك دكمه‌ اون در خود برنامه‌ اجرا اجرا كرد یانی در فرم نیشون بدن

Felony
شنبه 21 خرداد 1390, 13:42 عصر
سلام دوستان یك فایلی اجرایی درم میخواهم با كلیك كردن روی یك دكمه‌ اون در خود برنامه‌ اجرا اجرا كرد یانی در فرم نیشون بدن
احتمالا شئ Ole Container کارتون رو راه میاندازه .



بسم الله الرحمن الرحیم
با سلام
به جای ExeFile نام فایل خودتان را بنویسید.

;(WinExec(Pchar('ExeFile.exe'),sw_Show
پاسخی که دادید ربطی به سوال کاربر نداره ، در ضمن WinExec یک تابع منسوخ شده هست ، به جای اون باید از ShellExecute استفاده کنید .

akar_program
شنبه 21 خرداد 1390, 18:19 عصر
ممنون اقای تاجیك میشه‌ یك میسال بزنید جون نتونستم . تو فرم هم یك تایپك بیدا كردم هنوز اون تایپك با نتجه‌ نرسیده‌

Mahmood_M
شنبه 21 خرداد 1390, 21:10 عصر
برای اینکه یک برنامه رو در یک پنجره ی دیگه اجرا کنید ( نمایش بدید ) ، باید پنجره ی مورد نظر رو به عنوان Parent فرم اصلی برنامه ای که قراره اجرا بشه قرار بدید ، به کد زیر دقت کنید :

var
H : Cardinal;
begin
Form2.Show;
ShellExecute(Handle, nil, PChar('C:\Windows\notepad.exe'), nil, nil, SW_HIDE);
H := FindWindow(nil, PChar('Untitled - Notepad'));
Windows.SetParent(H, Form2.Handle);
ShowWindow(H, SW_SHOWMAXIMIZED);
end;

Form2 فرمی هست که قراره برنامه درونش نمایش داده بشه ، ابتدا فرم رو نمایش میدیم ، بعد فایل مورد نظر ( در اینجا برای مثال برنامه ی NotePad ) رو اجرا میکنیم اما به صورت پنهان ( SW_HIDE ) ، بعد Handle فرم رو به عنوان Parent پنجره ی برنامه ای که اجرا کردیم قرار می دیم و در انتها برنامه ی اجرا شده که پنهان بود رو Show میکنیم
نکته ای که مهمه اینه که شما باید " عنوان " یا " نام کلاس " پنجره ی برنامه ای که اجرا میکنید رو بدونید ، تا توسط تابع FindWindow اون رو پیدا کنید

احتمالا شئ Ole Container کارتون رو راه میاندازه .
OLE Container برای نمایش یک فایل غیر اجرایی توسط فایل اجرایی باز کننده همون فایل غیر اجرایی هست !!؟! ، مثلا بازکردن یک فایل DOC به عنوان یک OLE Object همراه با نمایش نرم افزار Word به عنوان یک OLE Server ، یا یک فایل PDF با نمایش برنامه ی Acrobat Reader یا ...

موفق باشید ...

Felony
شنبه 21 خرداد 1390, 21:28 عصر
OLE Container برای نمایش یک فایل غیر اجرایی توسط فایل اجرایی باز کننده همون فایل غیر اجرایی هست !!؟! ، مثلا بازکردن یک فایل DOC به عنوان یک OLE Object همراه با نمایش نرم افزار Word به عنوان یک OLE Server ، یا یک فایل PDF با نمایش برنامه ی Acrobat Reader یا ...
بله این رو میدونم ! ، من با توجه به شناختی که از ایشون و کارشون دارم این رو گفتم، ایشون قبلا با نرم فازار Multimedia Builder کار میکرده ، اونجا شیئی داریم به اسم Binder که تقریبا هم کار OLE رو انجام میده هم کار که شما گفتید ، اگر بخوان دقیقا همچین چیزی پیاده کنن باید از ترکیبی از OLE و گفته شما استفاده کنن .