PDA

View Full Version : سوال: ارتباط با فایل exe



kasra515
چهارشنبه 09 دی 1388, 13:27 عصر
سلام دوستان
ما یه فایل exe تحت داس داریم که یه سری ورودی میگیره و خروجی رو هم همونجا چاپ می کنه و به سورس برنامه دسترسی نداریم.
راهی هست که از طریق c# با این فایل ارتباط برقرار کرد؟یعنی کاربر توی یک تکس باکس ورودی رو وارد کنه؛برنامه این ورودی رو به فایل exe بفرسته و جواب رو ازش بگیره و مثلا توی یک تکس باکس دیگه نمایش بده
ممنون:لبخندساده:

ASKaffash
چهارشنبه 09 دی 1388, 13:32 عصر
سلام
این برنامه تحت داس پارامترها را چگونه دریافت میکند ؟ با خط فرمان ؟ با چه زبانی است ؟

saied_genius
چهارشنبه 09 دی 1388, 17:25 عصر
فايل exe معمولاً خروجي نمي دهد ، يعني من تا حالا فکر نکردم که مثلاً يک string از يک exe بگيرم.

اما براي ورودي مي توانيد از فرمان زير استفاده کنيد ، ديگه مابقي کارهاش را نمي دانم.


System.Diagnostics.Process.Start("نام فايل اجرايي", "پارامتر هاي ورودي");
مثال
System.Diagnostics.Process.Start("c:\\myProgram.exe", "-t -s -a");موفق باشيد.

kasra515
جمعه 11 دی 1388, 20:33 عصر
سلام
این برنامه تحت داس پارامترها را چگونه دریافت میکند ؟ با خط فرمان ؟ با چه زبانی است ؟

فرض کنید که یه برنامه ی ساده تحت داس که با c++ نوشته شده،مثلا برنامه ای که توان 2 یک عدد رو محاسبه کنه،کاربر عدد رو همونجا وارد می کنه و مثلا 2 رو وارد کرده،برنامه 4 رو چاپ می کنه
ورودی زیاد اهمیتی نداره،من بیشتر به خروجی کار دارم چون که ورودی از فایل خوانده میشه.
هدف من اینه که برنامه c#، برنامه تحت داس رو اجرا کنه،برنامه خودش ورودی رو از فایل میگیره،بعدش خروجی میده که هدف من اینه که اون خروجی رو بیرون بکشم و مثلا در یک texbox نمایش بدم.
ممنون:لبخندساده:

saied_genius
جمعه 11 دی 1388, 23:31 عصر
اين هم يک مثال از راه حل:


Process myApp = new Process(@"C:\foo.exe", "someargs");
myApp.StartInfo.UseShellExecute = false;
myApp.StartInfo.RedirectStandardOutput = false;

myApp.Start();

string output = myApp.StandardOutput.ReadToEnd();
p.WaitForExit();


موفق باشيد.

ASKaffash
شنبه 12 دی 1388, 08:12 صبح
فرض کنید که یه برنامه ی ساده تحت داس که با C++‎‎ نوشته شده،مثلا برنامه ای که توان 2 یک عدد رو محاسبه کنه،کاربر عدد رو همونجا وارد می کنه و مثلا 2 رو وارد کرده،برنامه 4 رو چاپ می کنه
ورودی زیاد اهمیتی نداره،من بیشتر به خروجی کار دارم چون که ورودی از فایل خوانده میشه.
هدف من اینه که برنامه C#‎‎، برنامه تحت داس رو اجرا کنه،برنامه خودش ورودی رو از فایل میگیره،بعدش خروجی میده که هدف من اینه که اون خروجی رو بیرون بکشم و مثلا در یک texbox نمایش بدم.
ممنون:لبخندساده:
سلام
اگر اینطور باشد اینطوری خروجی را به یک فایل Text هدایت کن و بعد با کلاسهای IO محتوای فایل را بخوان :


FileName.exe >MyOutput.txt