PDA

View Full Version : سوال: انجام كارهاي خط فرمان



UnnamE
پنج شنبه 07 بهمن 1389, 12:11 عصر
يعني واقعا واسه عنوان تاپيك نميدونستم چي بنويسم، مبتدي ام ديگه:چشمک:

ببينيد ما توي توزيع هاي لينوكسي واسه اينكه بفهميم چه proccess هاي اجرا هستن اين فرمان رو اجرا ميكنيم

top -u root
كه تمام فعاليت هايي كه سيستم از طرف كاربر root‌ هست رو نشون ميده
سوال اينه كه به چه شكل در Qt بايد به چنين چيزي دست يافت؟
يعني همون اجراي دستورات كه در خط فرمان انجام ميشه و خروجي رو هم در خود برنامه نشون داد

مغسي

.:saeed:.
پنج شنبه 07 بهمن 1389, 13:13 عصر
با استفاده از کلاس QProcess ميتونيد يه برنامه ديگه رو تو برنامه تون اجرا کنيد و البته دستورات رو که تو ويندوز حد اقل ميدونم برنامه هاي جداگانه اي هستند . و در ضمن شما ميتونيد بعدش خروجي رو از اونا بگيريد. چون الان هيچ دسترسي به کيوتي ندارم :خجالت: ( توي کافي نت هستم ) اين تيکه کد رو از جاي ديگه گرفتم و براتون گذاشتم





QProcess p;
p.start( /* whatever your command is, see the doc for param types */ );
p.waitForFinished(-1);


QString p_stdout = p.readAllStandardOutput();
QString p_stderr = p.readAllStandardError();



در ضمن با تابع readAllStandardOutput(); از کلاس QProcess ميتونيد خروجي command اجرايي رو بخونيد.
در ضمن تابع system از کتابخانه stdlib.h (http://pubs.opengroup.org/onlinepubs/009695399/basedefs/stdlib.h.html) هم ميتونه يکي از راه هاي شما باشه . در اينجا (http://pubs.opengroup.org/onlinepubs/009695399/functions/system.html)دربارش بخونيد. اما خوب مسلما QProcess بهتره . امتحانش کنيد اگه سوال داشتيد بپرسيد