620 سوال

628 پاسخ

855 نظر

239 کاربر

به سامانه پرسش و پاسخ کیوت خوش آمدید, این سامانه به شما امکان می دهد پرسشهای خود را طرح نموده و در کوتاهترین زمان ، پاسخ خود را دریافت نمایید.

-قبل از سوال پرسیدن حتما جست و جو کنید.

-در صورتی که سوالی به شما کمک کرد و یا جوابی ، حتما به آن امتیاز مثبت دهید.

-در صورتی که سوالی پرسیدید و جواب خود را گرفتید حتما جواب را به عنوان بهترین جواب انتخاب کنید.

-از ارسال چند سوال در یک تاپیک جدا خودداری کنید.

-نام مناسب برای سوالات انتخاب کنید.

-برچسب مناسب برای سوالات انتخاب کنید.

-برای نوشتن کد کافی است کد را از ادیتور خود کپی و در ادیتور سایت الصاق کنید و با انتخاب کد کلید CTRL+K را فشار دهید.

-حتما قوانین و نکات دیگر را از اینجا بخوانید.

نحوه کار با QProcess

0 امتیاز
53 بازدید

با سلام
برای اجرای بخشی از برنامه نیاز به run نمودن دستور در cmd دارم. برنامه به راحتی اجرا می شود

proc->start("cmd.exe", QStringList() <<"/C"
                      "Program.bat");

اما
برای انتظار جهت اتمام پروسس از دستور

waitForFinished(-1)

استفاده کردم که پروسس را خیلی بیشتر از زمان مورد نیاز جهت دریافت خروجی باز نگه میدارد
اگر برای آن زمان نیز تعیین شود ممکن است قبل از اتمام برنامه و یا پس از اجرای برنامه نیز پروسس فعال باشد.
چگونه می توان زمان دقیق اجرای دستور در cmd را مشخص نمود و به محض پایان یافتن از پروسس خارج شد؟

با تشکر

سوال شده مرداد 10, 1395  بوسیله ی pouyan_farzad (210 امتیاز)  
0% درصد پذیرش جواب ها

1 پاسخ

0 امتیاز

سلام
به نظر من دو راه وجود داره به جای خط اول از کد زیر استفاده کن و تست بگیر سرغت پایان عملیات رو ....

QProcess::execute("Program.bat")

و در ادامه cmd اگر بخوام مثال بزنم اگر به شکل زیر باشه فکر کنم جواب کار شما رو بده

if(-2!QProcess::execute("run.bat")){
{
// ///////////محل کد های شما
}

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

پاسخ داده شده خرداد 31, 1396 بوسیله ی mmbi18 (670 امتیاز)  
...