PDA

View Full Version : سوال: @ اندازه گیری زمان بیکاری کامپیوتر - Idle Time



armanikurd
دوشنبه 13 مهر 1388, 00:46 صبح
@

دورود

تا حالا دیدی که ویندوزتون بعد از زمان تعریف شده ای اقدام به اجرای اسکرین سیور و محافظ صفحه نمایش می کنه و یا اینکه سیستم رو به حالت آماده باش و استند بای میبره !؟

در واقه ویندوز با یک تایمر داخلی مخصوص این کار درست از زمان انجام اخرین ضربه به کلید های کیبور . یا حرکت ماوس و شاید برخی رویداد تعریف شده ی دیگه، اقدام به بازشماری می کنه تا مثلا در صورت بیکار شدن سیستم ظرف 4 دقیقه ScreenSaver رو اجرا کنه...

یکی بیاد این کد رو بنویسه البته من یه DLL دارم که این کارو انجام میده اما پروسس نسبتا بالایی داره و در ضمن بعضا عمل نمیکنه !

می خواید با هفکری هم یه کارایی رو انجام بدیم :متفکر:

anooshiran
دوشنبه 13 مهر 1388, 00:54 صبح
سلام دوست عزيز

براي تحقق اين روش بايد از 2 event كاملان مجزا بهره برد

1- mouse move : البته از آنجايي كه mouse ها نوري حتي در حالت ساكن هم گاهي اندكي حركت نشان ميدهند بايد يك محيط پيرامون location ايستايي mouse ايجاد كرد.

2- press key

و در يك thread در بازه هاي زماني بازده اين دو event را كنترل كرد.

البته چندين راه حل ديگر هم موجود است . ولي اين راه حل ساده ترين روش به نتيجه رسيدن است.

armanikurd
دوشنبه 13 مهر 1388, 01:35 صبح
تشکر

با کمال احترام.اما این راه خوبی شاید نباشه

1. رویداد های Mouse Click هم که باید چک بشن، در ضمن آیا بهتر نیست از خود ویندوز استفاده کنیم که قبلا مایکروسافت نازنین زحمتشو کسیده
مثلا با یک تابع API حالا جدا از نسخه های ویندوز :خجالت:

2. Thread رو کلا موافقم این خوبه و اصلا این خودشه
در ضمن نکته ماوس نوری هم اوکی بود آآآ


راستی با یه تابع API می تونیم زمان روشن بودن کامپیوتر رو بفهمیم که البته دقیق اسمشو یادم نیست اما فکر کنم برای Idle Time هم تو ویندوز یه چیزایی رو گذاشتن...
شاید یه چرخی تو اینترنت و سایت مایکروسافت بزنیم درست بشه

anooshiran
دوشنبه 13 مهر 1388, 01:49 صبح
سلام دوست عزيز

البته راه آخري را كه شما پيشنهاد كرديد و استفاده از توابع API ساده ترين راه حل براي اين مبحث است كه من در نرم افزار هاي خودم استفاده مي كنم. البته استفاده من صرفا به خاطر دوباره پسورد زدن بعد از طي زماني وقفه سيستم است.

راهي را كه پيشنهاد كردم هيچ ربطي به استفاده از توابع خود ويندوز نداره.
ميخواهم ببينم آيا از اين طريق هم ميتوان به نتيجه رسيد.

با تشكر

armanikurd
دوشنبه 13 مهر 1388, 02:12 صبح
بازم د و و و ورو و و و د

راستش توابع API با نسخه عای جدید ویندوز دگرگون میشن......این یه بحثه حالا..

بعد اگه میشه میتونید اون کد رو بذارید منم یه تستی کنم !

بدروووووووووود