0

.net Windows アプリケーションの exe があります。試しにexeをクライアントと共有したいので、1週間だけの利用を制限したい。現在の日付を使用して比較することを想定してDateTimeいましたが、ユーザーがシステムの日付を元に戻すと機能しません。

解決策はありますか?

4

2 に答える 2

0

ユーザーがいつアプリを起動したかを確認し、日付のカウントを隠しファイルに保存します

サンプル

if (File.Exists("startapp.txt")
{
    using (StreamWriter writeFile = new StreamWriter("startapp.txt"));
    {
        StreamReader sr = new StreamReader("startapp.txt"); 
        int count = int.Parse(sr.ReadToEnd());
        sr.Close();
        count++;
        writeFile.WriteLine(count.ToString());
    }
}
else
{
    FileStream fs = File.Create("startapp.txt");
    fs.Close();
    File.SetAttributes(
    "startapp.txt", 
    FileAttributes.Archive | 
    FileAttributes.Hidden | 
    );
    StreamWriter sw = new StreamWriter(fs);
    sw.WriteLine("1");
}

次に、ファイルを読み取って、それが7.

于 2013-09-23T10:18:10.403 に答える
0

アプリケーションがインターネット アクセスを必要とする場合は、時刻文字列を返す次の Web サービスを呼び出して、現在の日付と時刻をテストすることができます。

http://www.timeapi.org/utc/now

たとえば、それは戻ります

2013-09-23T11:05:08+01:00

これは、ISO 8601 形式の現在の時刻です。最初の文字は現在の日付を yyyy-mm-dd 形式で表していることに注意してください。

アプリがインターネット アクセスを必要としない場合でも、ユーザーがアプリを起動するのに 5 回ごとに、インターネット経由で現在の時刻を確認する必要がある場合があります。スマートフォンを含む今日の多くのアプリケーションは、サーバーに接続するため、または登録キーを確認するためだけにインターネット アクセスを必要とします。

于 2013-09-23T10:08:11.073 に答える