⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 date.c

📁 执行和去除共享软件日期限制的程序
💻 C
字号:
#include <user\dlg.h>
#include "sharewareluncher.h"
#include "resource.h"

extern APPINFO aiAppInfo[50];
SYSTEMTIME stVr,stReal;
BOOL bSysTimeChanged=FALSE;
BOOL bClockYes=TRUE;

BOOL Lunch(HWND hWnd,int i)
{
   char szDir[256];
   SETUPINFO siInfo;

	if(aiAppInfo[i].stVrDate.wYear!=0 && aiAppInfo[i].stVrDate.wMonth!=0 &&
   	aiAppInfo[i].stVrDate.wDay!=0)
   {
   	GetLocalTime(&stReal);
      if(!bSysTimeChanged)
       	GetLocalTime(&stVr);
      else
      	KillTimer(hWnd,0);

      stVr.wYear=aiAppInfo[i].stVrDate.wYear;
      stVr.wMonth=aiAppInfo[i].stVrDate.wMonth;
      stVr.wDay=aiAppInfo[i].stVrDate.wDay;

      bClockYes=FALSE;
      SetLocalTime(&stVr);
      SetTimer(hWnd,0,20000,NULL);
      bSysTimeChanged=TRUE;
   }
   GetPathFromFileName1(aiAppInfo[i].szAppCmd,szDir);
   siInfo=RunSetup(aiAppInfo[i].szAppCmd,szDir,NULL);
   return siInfo.flag;
}

BOOL GetPathFromFileName1(LPSTR szFileName,LPSTR szDir)
{
	int i,nCount=0;
   char szTemp[256]=" ";

   for(i=0;i<(int)strlen(szFileName);i++)
   {
   	if(szFileName[i]=='\\')
      	nCount++;
   }
   if(nCount==0)
   	return FALSE;
   for(i=0;i<(int)strlen(szFileName);i++)
   {
      szTemp[i]=szFileName[i];
   	if(szFileName[i]=='\\')
      {
      	nCount--;
         if(nCount==0)
         {
         	szTemp[i]='\0';
            wsprintf(szDir,szTemp);
            return TRUE;
         }
      }
   }
   return FALSE;
}  

void DoTimer(HWND hWnd,UINT i)
{
	KillTimer(hWnd,i);

   if(IsOneDayPassed1(&stVr,FALSE))
   	DoOneDayPassed1(&stReal,FALSE);

   GetLocalTime(&stVr);

   stVr.wYear=stReal.wYear;
   stVr.wMonth=stReal.wMonth;
   stVr.wDay=stReal.wDay;

   SetLocalTime(&stVr);
   bSysTimeChanged=FALSE;
   bClockYes=TRUE;
}

BOOL IsOneDayPassed1(SYSTEMTIME *stTime,BOOL bChange)
{
   SYSTEMTIME stTemp;
   BOOL BigYear,BigMonth;

   GetLocalTime(&stTemp);

   if((stTemp.wYear-stTime->wYear==1) && stTemp.wMonth==1 && stTemp.wDay==1 &&
   	stTime->wMonth==12 && stTime->wDay==31)
	{
   	if(bChange)
      	*stTime=stTemp;
      //Errmsg("y,12,31");
   	return TRUE;
   }

   if(stTime->wYear%4==0 && stTime->wYear%100!=0 || stTime->wYear%400==0)
   BigYear=TRUE;
   else
   BigYear=FALSE;
   if((stTime->wMonth<=7 && stTime->wMonth%2!=0) || (stTime->wMonth>=8 && stTime->wMonth%2==0))
   BigMonth=TRUE;
   else
   BigMonth=FALSE;

   GetLocalTime(&stTemp);
   if((stTemp.wYear==stTime->wYear) && (stTemp.wMonth-stTime->wMonth==1) && stTemp.wDay==1 &&
   	(stTime->wDay==BigMonth?31:(stTime->wMonth!=2?30:(BigYear?29:28))))
   {
   	if(bChange)
      	*stTime=stTemp;
      return TRUE;
   }

   GetLocalTime(&stTemp);
   if(stTemp.wYear==stTime->wYear && stTemp.wMonth==stTime->wMonth && stTemp.wDay-stTime->wDay==1)
   {
   	if(bChange)
      	*stTime=stTemp;
      //Errmsg("0,0,d");
   	return TRUE;
   }

   //GetLocalTime(&stTemp);
   //if(stTemp.wYear==szTime->wYear && stTemp.wMonth==stTime->wMonth && stTemp.wDay==stTime->wDay)
   //	return FALSE;

   return FALSE;
}

void DoOneDayPassed1(SYSTEMTIME *stTime,BOOL bChange)
{
   SYSTEMTIME stTemp;
	BOOL BigYear,BigMonth;

   if(stTime->wYear%4==0 && stTime->wYear%100!=0 || stTime->wYear%400==0)
   BigYear=TRUE;
   else
   BigYear=FALSE;
   if((stTime->wMonth<=7 && stTime->wMonth%2!=0) || (stTime->wMonth>=8 && stTime->wMonth%2==0))
   BigMonth=TRUE;
   else
   BigMonth=FALSE;

   if(stTime->wDay==31 || (stTime->wDay==30 && !BigMonth && stTime->wMonth!=2) ||
   	(((stTime->wDay==28 && !BigYear) || (stTime->wDay==29 && BigYear)) && stTime->wMonth==2))
   {
   	if(stTime->wMonth!=12)
      {
      	stTime->wMonth++;
         stTime->wDay=1;
      }
      else
      {
      	stTime->wYear++;
         stTime->wMonth=stTime->wDay=1;
      }
   }
   else
   	stTime->wDay++;

   if(bChange)
   {
		GetLocalTime(&stTemp);
	   stTemp.wYear=stTime->wYear;
   	stTemp.wMonth=stTime->wMonth;
	   stTemp.wDay=stTime->wDay;
      SetLocalTime(&stTemp);
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -