簡體   English   中英

如何在C#中檢查時間是否手動更改

[英]How to check if time changed manually in C#

我正在編寫一個程序,該程序根據當前時間在計算機上定期執行某些操作。 但是用戶可能會手動更改Windows時間,並使我的程序感到困惑。 我的想法是在每次循環迭代中節省當前時間,並將其與上次節省的時間進行比較。 因此,我可以確定時間變化和變化量。 但這會出錯。 系統休眠(和睡眠)執行相同的操作,因此我無法在“手動更改時間”和“系統休眠”之間進行區分。 實際上,現在可以通過確定休眠(和休眠)來解決問題。 您能幫我嗎(確定休眠(和睡眠)或確定時間變化)?

您可以使用Stopwatch來測量經過時間。 秒表不依賴於系統時鍾,因此不受更改的影響。

可以使用SystemEvents.PowerModeChanged事件檢測到休眠,睡眠等。

使用時間Web服務來檢查應用程序啟動時間。 或者,您可以創建Windows服務,即使您的程序未啟動,該服務也會檢查時間是否更改。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM