View Full Version : تشخیص تغییر تاریخ وساعت سیستم در کل زمان اجرای برنامه
PetekDincos
سه شنبه 04 مهر 1391, 09:34 صبح
با سلام
من برای یه کاری به این نیاز دارم که بتونم در زمان اجرای برنامه تشخیص بدم که تاریخ و ساعت سیستم به صورت دستی توسط کاربر تغییر داده شده یا خیر و بتونم یه عملی رو انجام بدم . با تشکر
hakim22
سه شنبه 04 مهر 1391, 19:25 عصر
وقتی برنامه بالا میاد ساعت سیستم رو بگیرید . بعد با استفاده از تایمری که Interval در آن روی 1000 تنظیم شده و هر ثانیه تغییر میکنه اختلاف زمان اول دریافت شده با زمان حال رو در قالب ثانیه دارید. با استفاده از ضرب و تقسم ساده میشه اختلاف زمانی رو با زمان اول همیشه محاسبه کرد.
و شما همیشه این زمانی که خودتون نگاه میدارید با زمان اصلی مقایسه کنید. اگر اخلاف داشت زمان تغییر کرده است.
راه اصولی ترش استفاده از پیامهای ویندوزه . شما باید رویدادهای ویندوز رو بررسی کنید. یکیش TimeChanged است . که ویندوز این پیغام رو به همه ی Proccess ها در حال اجار میفرسته و برنامه ی شما هم اونو دریاف میکنه. با مونیتور کردن این رویداد همیشه میشه بدست آورد آیا زمان تغییر کرده یا نه ( این روش حرفه ای تره اما کاربردشت خیلی زیاده)
ali reza mansoori 2
یک شنبه 07 آبان 1391, 10:49 صبح
دوست عزیز میشه درباره راه دوم یکم بیشتر توضیح بدید
یا لینکی برای استفاده از این پیام ها در برنامه قرار بدید
danialafshari
یک شنبه 07 آبان 1391, 11:49 صبح
سلام دوست عزیز
ببین این سورس بدردت می خوره ؟
hakim22
یک شنبه 07 آبان 1391, 12:30 عصر
یک راهشم میتونه استفاده از EventLog باشه. چه اونی که به عنوان Component هست چه کلاس اصلیش
اما مشکلاتی در زمینه ی اجازه ی دسترسی و Permission ها داره که حتما باید چک کنید.
http://msdn.microsoft.com/en-us/library/system.diagnostics.eventlog.aspx
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.