PDA

View Full Version : سوال: باز کردن فایلی توسط برنامه ای مشخص



zoncpp
چهارشنبه 12 تیر 1387, 12:47 عصر
سلام
چطور در برنامه با کد نویسی می تونیم یک فایل مثلا فایل word را با برنامه MSWord باز کنیم.
مثلا تابع WinExec یک exe را اجرا می کند، اما فایل من exe نیست و می خواهم در برنامم تعیین کنم که مثلا با کلیک بر دکمه ای یک فایل غیر exe توسط برنامه مشخص خودش باز بشه.
چیکار کنم؟

mehdi.mousavi
چهارشنبه 12 تیر 1387, 16:31 عصر
سلام
چطور در برنامه با کد نویسی می تونیم یک فایل مثلا فایل word را با برنامه MSWord باز کنیم.
مثلا تابع WinExec یک exe را اجرا می کند، اما فایل من exe نیست و می خواهم در برنامم تعیین کنم که مثلا با کلیک بر دکمه ای یک فایل غیر exe توسط برنامه مشخص خودش باز بشه. چیکار کنم؟


سلام.
اگر منظورتون باز کردن فایل با Default Program ای هستش که روی سیستم به اون Extension تخصیص داده شده، (مثلا فایلهای doc با wordpad باز بشن یا فایلهای wav با media player)، کافی هستش از ShellExecute استفاده کنید:



ShellExecute(NULL, _T("open"), _T("c:\\temp.doc"), NULL, NULL, SW_HIDE);


به این ترتیب ShellExecute بدنبال Default Program ای می گرده (در Registry) که به فایلهای .doc تخصیص داده شده (ممکنه Word، WordPad یا هر چیز دیگه باشه) و سپس temp.doc رو بعنوان اولین پارامتر به برنامه مزبور پاس کرده و اونو اجرا میکنه.

zoncpp
شنبه 15 تیر 1387, 10:39 صبح
مرسی دقیقا همین تابع رو می خواستم.
قبلا یک بار استفاده کرده بودم از این تابع، ولی نمی دونم کجای کارم اشتباه بود که درست کار نمی کرد. ولی با راهنمایی شما موفق شدم. مرسی

mosafer_deltang
پنج شنبه 08 اسفند 1387, 14:50 عصر
سلام
من خیلی جستجو کردم برای باز شدن یک فایل با برنامه ای که خودم میخوام
من میخوام مثلا یک فایل rtf رو با wordpad باز کنم حال چه پیش فرض باز شدن فایل های rtf برنامه word باشه یا wordpad
در صورتی که تابع shellExecute فایل رو با برنامه پیش فرض باز میکنه
استفاده از openwith به جای open در پارامتر دوم رو هم اگه بشه بلد نیستم
خواهش میکنم راهنماییم کنید خیلی احتیاج دارم

IKHATAMI
سه شنبه 18 فروردین 1388, 11:04 صبح
سلام
من با دستور shellexecute به طور کامل آشنا هستم و باهاش کار می کنم ولی یک مشکل دارم اگر بخواهم خروجی دستور را در فرم خودم مثلا در ابزار olecontainer یا در زمینه فرمم نمایش دهم چیکار کنم
به عنوان مثال اگر یک براوزر برای کلیه فایلهای روی هارد بخواهم بسازم اگر هر فایل بخواهد در فرم خودش باز شود جالب نیست
با تشکر