2017-04-27 10 views
0

期限切れのプログラムを作成しようとしましたが、コンピュータの日付が変更された場合、期限切れの日付はもう機能しません。どのようにそれを解決するには?
デルファイを使用して作成しました日付が変更された場合、期限切れの日付が機能しない

+0

アプリを起動すると、アプリが最後に実行されてから時計が戻ってきているかどうかを確認できます。そうした場合は実行を拒否します。また、アプリケーションの実行中に時計が変更されたかどうかを検出する[WM_TIMECHANGE](https://msdn.microsoft.com/en-us/library/windows/desktop/ms725498.aspx)ブロードキャストメッセージを処理することもできます。どちらの方法でも、時間の変化が小さい場合はアプリを無効にしないことを検討してください.PCがローカルクロックを定期的に調整する必要があるタイムシンクサーバーに接続されていると、簡単に説明できます。 –

答えて

4

これを有効にするにはさらに詳しい情報が必要ですが、システムがデバイスの日付/時刻/時計を使用して日付の有効性を判断しているため、

これを回避する唯一の方法は、システム時計を変更して操作することが困難な正確な日付値のWebサービスにフックすることです。

目的のこの種のためのインターネットの時間を使って対処し、別のstackoverflowのスレッドがあります:

Get internet time in delphi

私はこれが役に立てば幸い!

+1

インターネットに接続していないPCにこのアプリケーションをインストールすると、基本的にはこれでSOLになります。代わりに、アプリを実行できる回数を制限し、個々の実行を実行できる時間を制限して、アプリを永遠に実行しないようにすることもできます。それにはシステムクロックは必要ありません。 –

関連する問題