PDA

View Full Version : سوال: چطور میشه یک فایل رو با یک exe دیگه باز کرد



captain_black81
یک شنبه 03 شهریور 1387, 17:51 عصر
سلام
چطور میشه یک فایل رو با یک exe دیگه باز کرد
مثلا path یک فایل jpg رو بدی و بخوای با photoshop.exe باز بشه.
البته مسیر photoshop.exe رو میدونیم

Amir Oveisi
یک شنبه 03 شهریور 1387, 18:59 عصر
مسیر فایل jpg رو بعنوان سویچ بهش بدین

photoshop.exe "ur jpg file path"

jaza_sa
دوشنبه 04 شهریور 1387, 02:04 صبح
مسیر فایل jpg رو بعنوان سویچ بهش بدین

photoshop.exe "ur jpg file path"

میشه بیشتر توضیح بدید؟

captain_black81
دوشنبه 04 شهریور 1387, 09:17 صبح
با تشکر
میشه بگید خود photoshop.exe چطور معرفی میشه؟
اگه ممکنه کد کاملتری بدید

Amir Oveisi
دوشنبه 04 شهریور 1387, 14:22 عصر
میشه بیشتر توضیح بدید؟
توضیح بیشتر:
اگر دقت کرده باشید تابع main برنامه هایی که مینویسیم یه ارگومان داره که یه ارایه String میگیره. این ارگومان چجوری به برنامه منتقل میشه؟ شما در خط فرمان هر چیز که جلوی اسم برنامه خودتون بنویسید به عنوان ارگومان تابع main وارد برنامه میشه. اگر بخواین که چند تا ارگومان بفرستید باید اونارو تو خط فرمان با space از هم جدا کنید.
حالا فرض کنید که یه برنامه مثل photoshop میخواد یه عکس رو باز کنه. برای این کار شما میتونین ادرس فایل عکس موذد نظرتون رو به عنوان ارگومان تابع main برنامه photoshop بفرستین. با این کار برنامه photoshop باز میشه و عکس مورد نظر رو هم نشون میده. (چون تو برنامش تعریف شده که ارگومان تابع main هر چی بود اون رو به عنوان ادرس فایل در نظر بگیره و بازش کنه). این مکانیسم تقریبا در همه برنامه هایی که با فرمت فایل خاصی سر و کار دارن وجود داره.
نکته بعدی اینه که شما وقتی رو یه فایل - مثلا عکس - دابل کلیک میکنید هم این اتفاق میفته. یعنی ویندوز ادرس اون فایل رو به برنامه مورد نظر به عنوان ارگومان تابع main میفرسته.


اگه ممکنه کد کاملتری بدید
اول باید بدونین مسیر فایل photoshop.exe کجاست. فرض میکنیم c:\photoshop.exe
و فرض میکنیم عکس شما در d:\mypic.jpg


System.Diagnostic.Process.Run("c:\photoshop.exe d:\mypic.jpg")

با این کار photoshp اجرا میشه و عکس شما رو نشون میده

موفق باشید
jooje

captain_black81
دوشنبه 04 شهریور 1387, 15:12 عصر
ضمن تشکر از دوستان
برای تکمیل بحث من با این کد هم تونستم کارو انجام بدم


ProcessStartInfo processInfo = new System.Diagnostics.ProcessStartInfo(Application.St artupPath + @"\xxx.bat",label1.Text);
System.Diagnostics.ProcessStartInfo i = new System.Diagnostics.ProcessStartInfo();
i.WorkingDirectory = label1.Text;
processInfo.FileName = @"d:\shafa\showimage.exe";
System.Diagnostics.Process.Start(processInfo);