نمایش نتایج 1 تا 1 از 1

نام تاپیک: اجرای یک برنامه تحت کنسول و ارسال دکمه enter

  1. #1
    کاربر دائمی آواتار samiasoft
    تاریخ عضویت
    مهر 1391
    محل زندگی
    اردبیل
    پست
    1,242

    Question اجرای یک برنامه تحت کنسول و ارسال دکمه enter

    سلام وقت بخیر

    فرض کنید یک برنامه ای وجود داره که بصورت کنسول نوشته شده که هنگام اجرا بدین صورت به نمایش درمی اید :

    بعد از اجرا درحالت عادی تا زمانی که کلیدی فشرده نشه برنامه همچنان در حالت اجرا باقی هست و بعد از تایپ هرکاراکتر یا ارسال کلید اینتر این برنامه بسته میشه.

    حالا مساله اینجاست میخواستم این برنامه را داخل سی شارپ اجرا کنم و به محتویات قسمت مشخص شده دسترسی پیداکنم برای همین بدین صورت دستورشو نوشتم :
    Process My_process = new Process(); 

    My_process.StartInfo.FileName=Application.StartupP ath + @"\generator.exe";

    My_process.StartInfo.UseShellExecute = false;
    My_process.StartInfo.RedirectStandardOutput = true;

    My_process.Start();

    string result = My_process.StandardOutput.ReadToEnd();

    MessageBox.Show(result);


    اما خروجی این دستور زمانی کارمیکنه که برنامه مربوطه بسته بشه ....حالا با ارسال چند کاراکتر به این پنجره یا ارسال کلید اینتر یا بستن آن...اما هرکارکردم نتونستم این موارد رو پیاده کنم.

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

    همچنین با استفاده از Task تایم اوتی را مشخص کردم اما دراین حالت کلا بعد از زمان مربوطه خروجی خالیست !
     Process My_process = new Process(); 
    My_process.StartInfo.FileName = Application.StartupPath + @"\generator.exe";

    My_process.StartInfo.UseShellExecute = false;
    My_process.StartInfo.RedirectStandardOutput = true;

    My_process.Start();

    int timeout = 5000;
    var task = My_process.StandardOutput.ReadToEndAsync();
    if (await Task.WhenAny(task, Task.Delay(timeout)) == task)
    {

    }
    else
    {
    My_process.Kill();
    MessageBox.Show(task.Result);

    }
    آخرین ویرایش به وسیله samiasoft : پنج شنبه 13 شهریور 1399 در 17:22 عصر

تاپیک های مشابه

  1. پاسخ: 1
    آخرین پست: سه شنبه 04 آبان 1395, 11:38 صبح
  2. سوال: ورودی گرفتن در محیط کنسول بدون زدن enter
    نوشته شده توسط hsnmrd در بخش C#‎‎
    پاسخ: 1
    آخرین پست: دوشنبه 28 تیر 1395, 21:59 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •