PDA

View Full Version : اجرای یک برنامه در دل برنامه ای دیگر



MSK
دوشنبه 05 مرداد 1383, 01:23 صبح
بطور کلی چطور می تونم یه برنامه ی دیگه رو توی برنامم اجرا کردم.

مثال:
یه برنامه با پاسکال نوشتم و می خام توی برنامه ی دلفیم اجرا بشه.

nasr
دوشنبه 05 مرداد 1383, 08:04 صبح
با دستور ShellExecute

_alish_
دوشنبه 05 مرداد 1383, 11:15 صبح
winexec(Pchar(PathExe),SW_SHOWNORMAL );

فقط بزرگان کامل جواب بدید بهتر ،ما هم در ابتدا مشکل داشتیم

Me_MagMag
دوشنبه 05 مرداد 1383, 11:18 صبح
این هم یه نمونه
shellexecute(handle, 'open', 'filename.txt', nil, nil, SW_SHOW);

ا.ا.مشیری

(امید)
سه شنبه 06 مرداد 1383, 22:43 عصر
کامل جواب بدید بهتر ،ما هم در ابتدا مشکل داشتیم
کاملا موافقم
در تکمیل نوشته های دوستان:


function ShellExecute(HWND: HWND; Operation,
FileName, Parameters, Directory: PChar;
ShowCmd: Integer): HINST; stdcall;

این تابع در ShellAPI تعریف شده است پس باید یونیت ShellAPI را Uses کنید

پارامتر اول یک متغییر از نوع HWND است.هر پنجره یا آبجکتی در ویندوز دارای یک Handle است که برای دسترسی به آن پنجره یا آبجکت شما باید از Handle استفاده کنید. در واقع پارامتر اول Handle پنجره ای است که این دستور را صادر کرده است

پارامتر دوم مشخص می کند چه عملی باید انجام شود مانند "open"، "Show" , "print" و ... است. در واقع ما برای اجرای هر فایل با توجه به خصوصیات آن فایل می توانیم از پارامترهای تعریف شده برای آن فایل بهره ببریم

پارامتر سوم مسیر فایلی است که باید عملیات مشخص شده در پارامتر دوم بر روی آن انجام شود.

پارامتر چهارم لیست پارامترهایی است که برنامه مورد نظر خواهیم فرستاد
<a href='http://www.barnamenevis.org/forum/viewtopic.php?t=11158&highlight=%DD%D1%D3%CA%C7%CF%E4+%81%C7%D1%C7%E3%CA %D1'>
به این لینک توجه کنید
</a>

پارامتر بعدی مشخص کننده شکل اجرای فایل است:
SW_SHOWNORMAL / SW_MAXIMIZE / SW_MINIMIZE / SW_SHOW / SW_SHOWDEFAULT / و ....

یک مثال :


ShellExecute&#40;Handle, 'open',pchar&#40;opendialog1.Filename&#41;, '', '',SW_MAXIMIZE&#41;

Opendialog1.Filename مسیر فایلی است که قرار است عملیات open بر روی آن اجرا شود (فایل انتخاب شده از opendialog ) . رشته های این تابع از نوع PChar هستند بنابراین باید رشته های string را به PChar تبدیل کنیم .
و نمونه ای دیگر


ShellExecute&#40;Handle, 'edit', 'test.txt', '', '', SW_SHOW&#41;;


فایل test.txt که در مسیر جاری قرار دارد با ویرایش گر تعریف شده edit شود

مثالهای بالا مواردی بود که خواسته بودیم بر روی فایلی یک عملیات یا Operation انجام گیرد .
ما می توانیم برای فراخوانی یک برنامه exe نیز از این تابع استفاده کنیم برای مثال :



ShellExecute&#40;Handle, 'open',pchar&#40;'C&#58;\Program Files\ACD Systems\ACDSee\ACDSee.exe'&#41;, '', '',SW_normal&#41;;// SW_SHOW&#41;

امید

MSK
پنج شنبه 08 مرداد 1383, 23:40 عصر
:flower: :flower: :flower: :تشویق: