嗨,我制作了一个软件,现在我必须发送给我的同事。但是我需要添加一个到期时间,以便软件在总使用 10 小时后停止运行。我不知道如何开始迎接这个挑战。
您能否指导我查看一些可以在这方面指导我的文档。
更新
我现在已经编码,以便应用程序记录应用程序运行的总时间。但是如何保存该值并在下次应用程序运行时更新它即使在系统重新启动后也应该保存该值。它甚至不应该被用户篡改。
嗨,我制作了一个软件,现在我必须发送给我的同事。但是我需要添加一个到期时间,以便软件在总使用 10 小时后停止运行。我不知道如何开始迎接这个挑战。
您能否指导我查看一些可以在这方面指导我的文档。
更新
我现在已经编码,以便应用程序记录应用程序运行的总时间。但是如何保存该值并在下次应用程序运行时更新它即使在系统重新启动后也应该保存该值。它甚至不应该被用户篡改。
实现这一目标的最简单方法是将该值保存到文件中。您可以使用一些加密方法来防止用户读取它。
简单的代码可能是这样的:
#include <iostream>
#include <fstream>
using namespace std;
int main () {
int secretKey = 123; //any value would do the trick
unsigned daysUsed = 0;
ifstream fIn;
fIn.open("tm");
if (fIn.is_open())
{
fIn >> daysUsed;
daysUsed ^= secretKey;
fIn.close();
}
//validate days here
ofstream fOut;
fOut.open("tm", std::ofstream::out | std::ofstream::trunc); // you can add binary flag if you want too
fOut << (++daysUsed ^ secretKey);
fOut.close();
return 0;
}
它使用最简单的可能加密作为示例。我建议您使用一些更高级的选项,例如 AES。用户可以随时删除您的文件,但如果您将其放在用户不会查找的某个位置,我猜这是最好的选择。您也可以尝试注册表项。