2014-02-06 76 views
0

我很好奇以下代碼的優點和缺點,以便終止某個應用程序在特定日期之後運行。使用DateTime終止應用程序?

DateTime expire = new DateTime(2014, 2, 20); 

if (DateTime.Now > expire) 
      { 
       MessageBox.Show("This Software's License has expired!"); 
       this.Close(); 
      } 

我在一個小測試一些軟件使用此考慮到我已經寫了,但不知道如果它的傻瓜證明或通過設置時鐘撥回在系統上可以DateTime類被「篡改」用?我不完全確定DateTime是否僅僅依賴於OS系統認爲時間與否。

+0

[創建將在試用期後過期的應用程序]的可能重複(http://stackoverflow.com/questions/1417848/create-an-application-that-will-expire-after-atrial -期) –

回答

2

是的,DateTime.Now會報告當前的系統時間,並可能受到用戶更改其時鐘的影響。

如果有人真的想在許可證過期後繼續使用您的應用程序,無論如何都可以很容易地破解這種技術。但這並不意味着這種方法對你沒有價值。

有已經大量的討論,也就是本類型的想法:

要在這裏爲您節省時間的一對夫婦的重要提示:

  • 如果有人願意來破解你的應用程序,甚至只是重置他們的系統時鐘,以避免支付牌照,它可能不是值得你花時間,試圖阻止他們,並在你的問題中最小的檢查是可能所有這些都值得做。
  • 而不是在許可證過期時禁用您的應用程序,也許會禁用某些功能,因此該應用程序仍然是廣告的完整版本。