PDA

View Full Version : حرفه ای: گرفتن خروجی از یک win form در یک برنامه دیگر



cemohsen
سه شنبه 07 تیر 1390, 15:39 عصر
با سلام
من 2 تا نرم افزار ویندوزی فرمی دارم که می خوام از یکی به اون یکی چند تا پارامتر بدم و بعد نتیجه خروجی رو بگیرم
اکثر راه که رحت بود رو رفتم ، یعنی از اولی به دومی پارامتر می دم ، کار رو انجام می ده و تموم
و اینجا مشکل دارم
چطوری از دومی زمانی کارش تموم شد به اولی نتیجه کار رو اعلام کنم ؟
قبلا نتیجه فایل های ویندوزی که اجرا می کردم رو به راحتی با دستور زیر می گرفتم
.
.
.

p.start()

p.StandardOutput.ReadtoEnd()
که p یه نمونه از Process بود
اما الان که فرم ویندوزی شده چطوری به نرم افزارش بگم که باید یک مقدار رو برگردونه تا اینور بگیرمش ؟؟؟؟
پیشاپیش ممنون

r00tkit
سه شنبه 07 تیر 1390, 16:21 عصر
من متوجه نشدم بهتر توضیح بده

cemohsen
سه شنبه 07 تیر 1390, 17:00 عصر
من از طریق برنامه 1 ، برنامه 2 رو صدا م زنم ، با همین متد Process و با کد زیر
Process pShapeCreator = new Process();
pShapeCreator.StartInfo.FileName = "آدرس برنامه 2";
pShapeCreator.StartInfo.Arguments = "پارامتر های لازم";

return pShapeCreator.Start();
حالا توی برنامه 2 من کار که تموم شد می خوام یه متنی به برنامه 1 برگردونم که نتیجه کار رو براش توضیح بدم ، خطایی ، وارنینگی،....
سوال هم همینه ، چطوری از طریق برنامه 2 یه متنی به برنامه اول برگردونم و اینور اون رو بگیرم ؟؟؟؟

قبلا در مورد اجرای برنامه های خود ویندوز این کار رو کردم و جواب هم داده
Process p = new Process();
p.StartInfo.CreateNoWindow = true;
p.StartInfo.FileName = cmdPath;
p.StartInfo.Arguments = "پارامتر های لازم";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.Start();

resultInfo = p.StandardOutput.ReadToEnd();

اما در مورد برنامه که خودم بخوام یک مقدار رو برگردونم ف مخصوصا وقتی که برنامه ویندوزی باشه این کار رو نکردم
اگه کنسولی بود شاید می شد مقدار برگشتی رو چاپ کرد و به همین طریق بالا گرفت ، اما در مورد برنامه ویندوزی چی /؟؟؟