2 限制软件试用时间
这里介绍记录时间的时间限制方法。
2.1 设置三个时间变量:
起始时间:int nYear0,nMonth0,nDate0;
终止时间:int nYear,nMonth,nDate;
当前时间:int nYearCur,nMonthCur,nDateCur;
2.2 初次运行市给上述变量的赋值
对于当前时间:
SYSTEMTIME stCur;GetSystemTime(&stCur);
nYearCur=stCur.wYear,nMonthCur=stCur.wMonth,nDateCur=stCur.wDay;
起始时间和终止时间的赋值是在程序第一次运行时将当前时间和预设的期限写入某个文件当中,以后将这两个时间同当前的系统时间比较,判断软件是否过期或者试用时间是否到期:
CString sFn="c:\\muxuanshe.sys";
FILE *fp=fopen(sFn,"rb");
if(!fp)//第一次
{
nDate0=nDateCur; nYear0=nYearCur; nMonth0=nMonthCur;
nDate=nDate0; nYear=nYear0; nMonth=nMonth0+1;
if(nMonth>12) {nMonth-=12; nYear++; }//跨年度计算
//依次将起始时间、到期时间和当前时间以及文件的字节数写入“c:\\muxuanshe.sys”
}
2.3 比较时间
每次运行时比较当前时间与文件记录中的时间,有两种情况,一是判断是否将系统系统时间提前:if( IsPreTime(nYear0,nMonth0,nDate0)|| IsPreTime(nYearOld,nMo nthOld,
nDateOld)))其中nYearOld,nMonthOld,nDateOld为上次运行的时间: