سلام.
آیا تابعی هست که مدت زمان بالا بودن ویندوز رو بده. در واقع یه تایمر که از زمان وارد شدن به ویندوز یا لاگین کردن شروع به کار کنه و با turn off کردن سیستم کارش تموم شه و برای دفعه بعدی وارد شدن به ویندوز دوباره از 0 شروع کنه.
Printable View
سلام.
آیا تابعی هست که مدت زمان بالا بودن ویندوز رو بده. در واقع یه تایمر که از زمان وارد شدن به ویندوز یا لاگین کردن شروع به کار کنه و با turn off کردن سیستم کارش تموم شه و برای دفعه بعدی وارد شدن به ویندوز دوباره از 0 شروع کنه.
جوابشو پیدا کردم. میذارم بقیه هم استفاده کنن.
کد:Private Declare Function GetCurrentTime Lib "kernel32" Alias "GetTickCount" () As Long
-----نقل قول:
نوشته شده توسط Payman_62
دوست عزیز این دستور فکر کنم زمان جاری را بر می گرداند
اگر اشتباه کردم ببخشید
اقا مي توني از api استفاده کنی
من الان دستورش یادم نیست -
اما به محض اینکه پیدا کردم بهت میگیم
---------
سلام.
نه زمان جاری رو تابع Time بر میگردونه. در ضمن اینیم که من گذاشتم API هست.
فکر کنم مستقیم هم بتونی از تابع Gettickcount استفاده کنی ولی بر حسب میلی ثانیه میده باید تبدیل کنی .
اقا من source ان را دارم اما نمی دونم چطوری بزارم که همه دانلود کنند - کمکم کن
سلام.
مهدی Gettickcount بدون معرفی API کار نمیکنه. اون API هم که گذاشتم میلی ثانیه میده.
BLACK سورس چیو داری؟
حالا یه سوال دیگه.
این API مقدار برگشتیش لانگه. حالا اگه یه متغیر لانگ تعریف کنیم و برابر تابع قرار بدیم و سیستممون رو مدت زمان زیادی روشن بگذاریم و بعد برنامه رو اجرا کنیم چه اتفاقی میفته؟ منظورم اینه که به هر حال سیستم میتونه اون قدر روشن بمونه که عدد بازگشتی تو متغیر لانگ جا نشه و سرریز یا overFlow بشه.
تا حالا بر نخوردم به این کد نگاه کن ولی باید تست بشه یه 3 - 4 روز کامپیوترتون رو روشن بزارید ببیند چطور میشه
این کد داخل یک تایمر با Interval 1000 است .کد:Option Explicit
Private Declare Function GetTickCount Lib "kernel32" () As Long
Private Sub tmrCheckTime_Timer()
Const MS_PER_SEC As Long = 1000
Const MS_PER_MIN = MS_PER_SEC * 60
Const MS_PER_HR = MS_PER_MIN * 60
Const MS_PER_DAY = MS_PER_HR * 24
Dim ms As Long
Dim secs As Long
Dim mins As Long
Dim hrs As Long
Dim days As Long
ms = GetTickCount()
days = ms \ MS_PER_DAY
ms = ms - days * MS_PER_DAY
hrs = ms \ MS_PER_HR
ms = ms - hrs * MS_PER_HR
mins = ms \ MS_PER_MIN
ms = ms - mins * MS_PER_MIN
secs = ms \ MS_PER_SEC
ms = ms - secs * MS_PER_SEC
lblDays.Caption = Format$(days) & " days"
lblHrs.Caption = Format$(hrs) & " hours"
lblMins.Caption = Format$(mins) & " minutes"
lblSecs.Caption = Format$(secs) & " seconds"
End Sub
اینم همون API که من گذاشتم. Alias رو حذف کردی. کدت جالبه ولی من به تبدیل نیاز ندارم. از همون عدد بر حسب میلی ثانیه تشخیص میدم چه کاری باید انجام بدم.