PDA

View Full Version : سوال: مشكل در استفاده از Process.Start



Hossein1429
دوشنبه 10 اسفند 1388, 09:01 صبح
با سلام خدمت دوستان

در ارسال پارامتر به Process.Start اگر در آدرس "فاصله" وجود داشته باشد
برنامه اجرا نمي شود مگر اينكه برنامه اجرايي اكسپلور باشد

مثال
نمايش عكس در اكسپلور

Process.Start("IExplore","C:\\image 12.jpg");
كه بي مشكل است اما اگر بخواهيم همين عكس در picturer manager مربوط به آفيس يا هر
برنامه اي غير از اكسپلور اجرا شود، هيچي اجرا نمي شود كه فقط به خاطر وجود فاصله چه در نام پوشه ها و چه در نام فايل در آدرس است.

Process.Start("OIS","C:\\image 12.jpg");
مشكل وجود فاصله را چگونه حل كنم. :عصبانی::عصبانی++::عصبانی::عص انی++::عصبانی::عصبانی++:

mehdi.mousavi
دوشنبه 10 اسفند 1388, 11:23 صبح
با سلام خدمت دوستان
در ارسال پارامتر به Process.Start اگر در آدرس "فاصله" وجود داشته باشد
برنامه اجرا نمي شود مگر اينكه برنامه اجرايي اكسپلور باشد


سلام.
چیزی رو که مطرح کردید، من زیاد بهش مطمئن نیستم اما میتونید Long Path ها رو به Short Path تبدیل کنید و مجددا امتحان کنید. شاید درست بشه! برای اینکار هم می تونید از GetShortPathName (http://www.c-sharpcorner.com/UploadFile/crajesh1981/RajeshPage103142006044841AM/RajeshPage1.aspx) Win32 API استفاده کنید.

موفق باشید.

حامد مصافی
دوشنبه 10 اسفند 1388, 13:50 عصر
اين كد را امتحان كنيد

Process.Start("OIS","\"C:\\image 12.jpg\"");

asrinpakzad1
جمعه 26 خرداد 1396, 11:10 صبح
سلام خسته نباشید
من این کد رو مینویسم روی سیستم خودم ارور نمیده (پایکاه داده م هم روی هاست هستش) ولی وقتی سایت رو روی هاست آپلود کردم ارور Server Error in '/' Application.

رو میده:

string fileName = Server.MapPath(address);
Process process = new Process();
process.StartInfo.UseShellExecute = true;
process.StartInfo.FileName = fileName;
process.Start();