使用visual studio 2013为win32软件添加过期信息
Add an expiry to win32 software using visual studio 2013
嗨,我制作了一个软件,现在我必须把它发给我的一位同事。但是,我需要添加一个到期日,以便软件在完全使用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。用户总是可以删除你的文件,但如果你把它放在用户不会找的地方,我想这是最好的选择。您也可以尝试注册表项。
相关文章:
- 将成员变量添加到共享库中的类中,不会破坏二进制兼容性吗
- 如何在C++中从两个单独的for循环中添加两个数组
- POCO::PostgreSQL:如何将std::vector支持添加到`Binder::bind`
- 如何仅为一个函数添加延迟
- 如何防止 c++ 在从浮点型转换为双精度型(不适用于 IO)时添加额外的小数?
- 使用std::transform将一个范围的元素添加到另一个范围中
- 如何将更多文件夹添加到c++include路径
- 如何将元素添加到数组的线程安全函数?
- QT通过C++添加映射QML项目
- 如何将点击的信号和插槽添加到qt中的自定义按钮中
- 如何使用重载的相等(==)运算符向测试用例添加描述
- 为什么Mat类的两个对象可以在不重载运算符+的情况下添加
- 如何防止clang格式在流运算符调用之间添加换行符<<
- 如何使用自制软件,cMake和cLion将库添加到C++项目中
- 我正在尝试编写将 ASCII 转换为十进制、添加并转换回 ASCII 的软件
- 如何在将新的 subky 添加到 HKEY_LOCAL_MACHINE\软件\类 后更新HKEY_CLASSES_R
- 使用Nuget软件包添加与CUDA的OPENCV到Visual Studio程序
- 使用visual studio 2013为win32软件添加过期信息
- 当您下载其他库并将其功能添加到C ++程序中时,您是否能够在另一台PC上运行您的软件(没有库)?
- 用户界面 - 将 GUI 添加到C++软件的最佳语言