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

نام تاپیک: کار با Process ها

  1. #1
    کاربر تازه وارد آواتار #eafshary#
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    هشت بهشت
    پست
    33

    کار با Process ها

    من می خوام یه برنامه بنویسم که کار Task Manager را انجام میده که استفادخ از منابع و پروسس ها را نشان می دهد خودم با کلاس Process کار کردم ولی نمی دونم چه جوری درصد استفاده از cpu و memory رو نشون بدم ممنون میشم راهنمایی کنید

  2. #2
    کاربر تازه وارد آواتار Ehsan.Saradar
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    مشهد
    سن
    35
    پست
    37

    نقل قول: کار با پروسس ها

    فکر می کنم خواندن ایم دو مقاله می تواند برای شروع به شما کمک کند :

    http://www.codeproject.com/KB/cs/CustomTaskManager.aspx

    http://www.codeproject.com/kb/dotnet/perfcounter.aspx

  3. #3
    کاربر تازه وارد آواتار #eafshary#
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    هشت بهشت
    پست
    33

    نقل قول: کار با پروسس ها

    خیلی عالی بود ممنونم فقط تو یه چیز اشکال دارم اونم اینکه می خوام درصد استفاده از cpu و memory رو نشون بدم تو این مقاله یه چیزایی بود ولی درست نفهمیدم اگه امکان داره یه راه ساده تر بگید

  4. #4
    کاربر تازه وارد آواتار #eafshary#
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    هشت بهشت
    پست
    33

    نقل قول: کار با پروسس ها

    من الان فقط تو یه چیز مشکل دارم چه جوری توی تب application مثل task manager فولدر هایی که باز هستن رو نشون بدم ؟ تو رو خدا یکی جوابمو بده !!!!

  5. #5
    کاربر تازه وارد آواتار #eafshary#
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    هشت بهشت
    پست
    33

    نقل قول: کار با Process ها

    میگم ما هم هستیم ها یکی جواب منو نمیده من با کمک آقا احسان پروژه رو انجام دادم اگر دوستان خواستن می تونم آپ کنم . استادمون هم خیلی خوشش اومد بهم گفته اگه بتونی گرافهایی که توی TaskManager وضعیت cpu رو نشون میده توی برنامت به کار ببری پروژه این درس رو نمره کامل میگیری(C#‎) حالا کسی میتونه در مورد نشون دادن این گرافها کمکم کنه؟

  6. #6

    نقل قول: کار با Process ها

    فقط تو یه چیز اشکال دارم اونم اینکه می خوام درصد استفاده از cpu و memory رو نشون بدم
    من نمی دونم چقدر از این چیزها را کلاس Process دات نت براتون پیاده سازی کرده، اما به طور کلی برای اینکه میزان مصرف CPU را به دست بیارید، باید زمان Process را در دو زمان مختلف بخونید. زمان Process در ویندوز با استفاده از تابع GetProcessTime به دست میاد. توی دات نت احتمالا کلاس Process یک Wrapper برای آن ارائه کرده. باید یک بار زمان Process را به دست بیارید، بعد به مدت معینی مکث کنید، سپس زمان Process را برای بار دوم به دست بیارید، اون وقت میزان مصرف CPU به صورت زیر محاسبه میشه:

    CPU Usage = ((ProcessTime2 - ProcessTime1) / WaitTime) / 100 / NumberOfProcessors

    البته اگر کلاس Process خودش این رو بهتون بده، دیگه نیازی به پیاده سازی خودتان نیست.

    برای Memory هم در ویندوز از تابع GetProcessMemoryInfo استفاده میشه، که به احتمال بسیار زیاد کلاس Process این رو براتون Wrap کرده، و نیازی نیست خودتان مستقیما با این تابع API ویندوز کار کنید.

    چه جوری توی تب application مثل task manager فولدر هایی که باز هستن رو نشون بدم ؟ تو رو خدا یکی جوابمو بده !!!!
    برنامه هایی که در تب Applications از Task Manager لیست میشند، در واقع Processهایی هستند که پنجره داشته باشند، و پنجره اصلی آن ها این چند ویژگی را داشته باشه:

    • Visible باشه.
    • Owner نداشته باشه.
    • Parent نداشته باشه.
    • Tool Window نباشه.


    می تونید لیست پنجره های باز را از سیستم بگیرید، و پنجره هایی که ویژگی های فوق را داشتند، به عنوان Application در تب Applications برنامه خودتان لیست کنید.

    می بخشید، من دات نت کار نمی کنم که سورس کد #C بهتون بدم. فقط می تونم به طور کلی راهنمایی تون کنم که این کار چطور انجام میشه. از اینکه دات نت چقدر از این کارها را خودش براتون پیاده سازی کرده، اطلاعی ندارم.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

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

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