PDA

View Full Version : مدت زمان روشن بودن سیستم ؟



_behnam_
دوشنبه 12 تیر 1391, 01:22 صبح
سلام دوستان .
به چه روشی میشه کاری کرد که برنامه مدت زمان روشن بودن سیستم در هفته یا بین 2 تاریخ رو به ما نمایش بده؟
ایا مدت زمان ها جایی از سیستم ذخیره میشه؟ یا اینکه برنامه خودش باید اینکارو کنه؟

ممنون/

Saeed_m_Farid
دوشنبه 12 تیر 1391, 09:43 صبح
به چه روشی میشه کاری کرد که برنامه مدت زمان روشن بودن سیستم در هفته یا بین 2 تاریخ رو به ما نمایش بده؟
ایا مدت زمان ها جایی از سیستم ذخیره میشه؟ یا اینکه برنامه خودش باید اینکارو کنه؟

تا اونجایی که من می‌دونم سیستم فقط Uptime (http://en.wikipedia.org/wiki/Uptime) رو نگه می‌داره؛ مثلاً برای ویندوز‌:
http://www.howtogeek.com/wp-content/uploads/blogs/files/2008/11/sdaf.png

و با دستور systeminfo در خط فرمان:
http://www.howtogeek.com/wp-content/uploads/blogs/files/2008/11/54.png
http://www.howtogeek.com/wp-content/uploads/blogs/files/2008/11/22.png
__________________________
برای بدست آوردنش در برنامه هم شما باید از PerformanceCounter (http://msdn.microsoft.com/en-us/library/system.diagnostics.performancecounter.aspx) استفاده کنید:
public TimeSpan UpTime {
get {
using (var uptime = new PerformanceCounter("System", "System Up Time")) {
uptime.NextValue(); //Call this an extra time before reading its value
return TimeSpan.FromSeconds(uptime.NextValue());
}
}
}
این (http://msdn.microsoft.com/en-us/library/system.environment.tickcount%28VS.80%29.aspx) هم هست و با WMI هم میشه (ا wmic os get lastbootuptime) ولی این راحت تر هست...
+=+=+=+=+=+=+=+=+=+=+=+=
ولی برای Uptime برنامه / سرویس فکر نمی کنم همچین چیزی باشه و مجبور هستین یه DateTime موقع اجرای برنامه تنظیم کنید و وقتی برنامه بسته میشه یا مشکلی (Exception) پیش میاد و برنامه قادر به ادامه کار نیست و ... اختلافش با DateTime.Now میشه مدت اجرای برنامه :
String.Format("MY! Server stopped after {0:%d} day(s) and {0:hh\\:mm\\:ss\\.fff} runtime.", DateTime.Now - startTime)

Esikhoob
چهارشنبه 14 تیر 1391, 10:41 صبح
دستور WIN API:


GetTickCount()