PDA

View Full Version : سوال: اجرا کردن فایلی که سیستمی نباشد؟



firoozi90
پنج شنبه 20 مهر 1391, 21:45 عصر
سلام دوستان
چطور میشه یه فایل رو که جزو فایل های سیستمی نیست توی سی شارپ اجراش کرد؟مثلا یه فایل exe که با مولتی مدیا بیلدر ساخته شده و یا هر فایل exe دیگه که جزو فایل های سیستمی (مثل notepad و calculator) نباشه.

من از کد زیر استفاده می کنم اما اجرا نمی کنه و نمیشناستش:


Process.Start(Environment.CurrentDirectory + @"project.exe");

همه ی کدهای معمول مشابه کد بالا هم امتحان کردم نشد

این خطارو میده
win32 exception was unhandled

the system cannot find the file specified

خواهشا راهنمایی کنید

ehsan7007
پنج شنبه 20 مهر 1391, 22:00 عصر
درست متوجه نشدم ، می خواین تو خود برنامه اجرا کنید؟

اخه کد (process.start(path رو می تونید برای اجرای هرفایل بکار ببرید.

firoozi90
پنج شنبه 20 مهر 1391, 22:34 عصر
درست متوجه نشدم ، می خواین تو خود برنامه اجرا کنید؟

اخه کد (process.start(path رو می تونید برای اجرای هرفایل بکار ببرید.

یه دکمه گذاشتم میخوام وقتی روش کلیک کردم این فایل exe باز بشه.
نمیشه همه جوره بش آدرس دادم نمیشه.

firoozi90
پنج شنبه 20 مهر 1391, 23:06 عصر
ببین این همون چیزیه که می خوای؟ یعنی اینطوری فایل رو باز می کنه؟

این چی هست؟ یه فایل بود که اجرا هم نمیشد.اشتباه نفرستادی؟
من یه دکمه روی فرمم گذاشتم می خوام وقتی روش کلیک کردم یه فایل اجرایی که با مولتی مدیا ساختم اجرا بشه .همین

m0hammad_01
پنج شنبه 20 مهر 1391, 23:42 عصر
سلام
دوستمون جناب Ehsan 7007 درست گفتن.
این کد هر فایلی که بهش بدی، با توجه به پسوندش اجرا میکنه (اجرایی باشه که خودش رو اجرا میکنه دیگه)

System.Diagnostics.Process.Start("\\Filename.x");

firoozi90
جمعه 21 مهر 1391, 08:32 صبح
سلام
دوستمون جناب Ehsan 7007 درست گفتن.
این کد هر فایلی که بهش بدی، با توجه به پسوندش اجرا میکنه (اجرایی باشه که خودش رو اجرا میکنه دیگه)

System.Diagnostics.Process.Start("\\Filename.x");

حرف شما کاملا درسته
اما واسه من تجرا نمیشه و این خطا رو میده.

firoozi90
جمعه 21 مهر 1391, 08:42 صبح
یکی نیست این مشکل مارو حل کنه؟
فایل هایی مثل notepad و ... که مل ویندوزه باز میکنه و فایل ها غیر سیستمی نه.
خواهشا کمک کنید

firoozi90
جمعه 21 مهر 1391, 10:18 صبح
کسی نیست این مشکل منو حل کنه؟

Mahmoud Zaad
جمعه 21 مهر 1391, 11:11 صبح
سلام
برای سایر فایل ها باید آدرس دقیق جایی که فایل یا برنامه قرار داره (نصب شده) رو بهش بدید مثلاً اگه برنامه در درایو D نصب شده :
System.Diagnostics.Process.Start(@"D:\Project.exe");

veniz2008
جمعه 21 مهر 1391, 11:15 صبح
سلام. من تست کردم مشکلی نبود. کد زیر برنامه powerdvd رو اجرا میکنه :

System.Diagnostics.Process.Start("C:\\Program Files\\CyberLink\\PowerDVD12\\PowerDVD12");
اگر فایل exe شما بصورت آماده هست(یعنی نیازی به نصب شدن و تولید فایل exe نداره) میتونید فایل exe رو کنار فایل اجرایی پروژه تون بذارید و دردسر آدرس رو نداشته باشید.
فقط یه نکته : اگر فایل شما از نوع اجرایی هست نیازی به قید کلمه exe در آخر نام فایل نیست ولی اگر فایل شما از یک نوع دیگر(مثلا عکس با فرمت jpg هست بایستی پسوند رو هم به آخر فایل اضافه کنید. احتمال خیلی زیاد مسیری رو که به برنامه میدید اشتباه هستش. میتونید با یه مسیج باکس مسیر رو نمایش بدید تا مطمئن بشید مسیر درسته.(از وجود فایل exe هم اطمینان حاصل کنید).
موفق باشید.

morteza271
جمعه 21 مهر 1391, 11:27 صبح
سلام دوستان
چطور میشه یه فایل رو که جزو فایل های سیستمی نیست توی سی شارپ اجراش کرد؟مثلا یه فایل exe که با مولتی مدیا بیلدر ساخته شده و یا هر فایل exe دیگه که جزو فایل های سیستمی (مثل notepad و calculator) نباشه.

من از کد زیر استفاده می کنم اما اجرا نمی کنه و نمیشناستش:


Process.Start(Environment.CurrentDirectory + @"project.exe");

همه ی کدهای معمول مشابه کد بالا هم امتحان کردم نشد

این خطارو میده
win32 exception was unhandled

the system cannot find the file specified

خواهشا راهنمایی کنید

با توجه به متن خطایی که گذاشتین نشون میده که مسیر رو درست وارد نکردین!
مطمئن اید که در مسیر زیر فایل مورد نظرتون وجود داره :

Environment.CurrentDirectory + @"project.exe"

اینو چک کنید ...

morteza271
جمعه 21 مهر 1391, 11:30 صبح
الان متوجه شدم!!!!!
فک کنم اشتباه تابلویی رو مرتکب شدین دوست عزیز آدرس رو به صورت زیر بذارین :

Environment.CurrentDirectory + @"\project.exe"

شما یادتون رفته \ رو بذارین!!!!!!!درسته؟؟؟؟

firoozi90
جمعه 21 مهر 1391, 11:56 صبح
سلام. من تست کردم مشکلی نبود. کد زیر برنامه powerdvd رو اجرا میکنه :

System.Diagnostics.Process.Start("C:\\Program Files\\CyberLink\\PowerDVD12\\PowerDVD12");
اگر فایل exe شما بصورت آماده هست(یعنی نیازی به نصب شدن و تولید فایل exe نداره) میتونید فایل exe رو کنار فایل اجرایی پروژه تون بذارید و دردسر آدرس رو نداشته باشید.
فقط یه نکته : اگر فایل شما از نوع اجرایی هست نیازی به قید کلمه exe در آخر نام فایل نیست ولی اگر فایل شما از یک نوع دیگر(مثلا عکس با فرمت jpg هست بایستی پسوند رو هم به آخر فایل اضافه کنید. احتمال خیلی زیاد مسیری رو که به برنامه میدید اشتباه هستش. میتونید با یه مسیج باکس مسیر رو نمایش بدید تا مطمئن بشید مسیر درسته.(از وجود فایل exe هم اطمینان حاصل کنید).
موفق باشید.

فایل من کنار فایل اجرایی پروژه هستش و نیاز به نصب هم نداره.اما بازم اجرا نمیشه

firoozi90
جمعه 21 مهر 1391, 11:57 صبح
الان متوجه شدم!!!!!
فک کنم اشتباه تابلویی رو مرتکب شدین دوست عزیز آدرس رو به صورت زیر بذارین :

Environment.CurrentDirectory + @"\project.exe"

شما یادتون رفته \ رو بذارین!!!!!!!درسته؟؟؟؟
هرطور فکرشو بکنی امتحان کردم اما نشد

firoozi90
جمعه 21 مهر 1391, 12:07 عصر
از همتون ممنونم
به کمک شما دوستان مشکلم حل شد

veniz2008
جمعه 21 مهر 1391, 12:07 عصر
فایل من کنار فایل اجرایی پروژه هستش و نیاز به نصب هم نداره.اما بازم اجرا نمیشه
اینطوری بنویسید :

System.Diagnostics.Process.Start("project");
چون از نوع exe هستش نیازی به ذکر پسوند نیست.

morteza271
جمعه 21 مهر 1391, 12:11 عصر
از همتون ممنونم
به کمک شما دوستان مشکلم حل شد

میشه لطف کنید و بگین چطوری برطرف شد؟؟
شاید برای بقیه دوستان که به اینطور مشکلات برخورد کنن هم مفید باشه...
با تشکر...

ehsan7007
جمعه 21 مهر 1391, 16:14 عصر
اگه میشه بگید چطوری حل شد!

این چی هست؟ یه فایل بود که اجرا هم نمیشد.اشتباه نفرستادی؟

نه ،اشتباه نفرستادم ، فایل هم سالمه ، می خواستم بهتون نشون بدم که این کد مشکلی نداره و از openfiledialog استفاده کنید (برای امتحان) ؛ وِیزال استدیو من 2010 هست ، برای همین برای هر کسی سورس گذاشتم نتونست بازکنه ! خواستم کد رو جدا بزرم ؛ که دیگه مشکلتون خدارو شکر حل شد!

firoozi90
شنبه 22 مهر 1391, 21:42 عصر
کدمو اینجوری نوشتم

Environment.CurrentDirectory + @"\project"

morteza271
شنبه 22 مهر 1391, 22:14 عصر
کدمو اینجوری نوشتم

Environment.CurrentDirectory + @"\project"


حال کردین دوست عزیز.
گفتم سوتی دادین!
موفق باشید

firoozi90
یک شنبه 23 مهر 1391, 20:02 عصر
آره تقریبا سوتی داده بودم

MAHSA_mAS
یک شنبه 08 بهمن 1391, 09:55 صبح
سلم منم میخوام یک فایل exe رو داخل نرمافزار خودم که با vb6 نوشته شده run کنم. هر کدی می نویسم اجرا نمیشه. میشه در این زمینه راهنماییم کنید