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

📄 tab.c

📁 执行和去除共享软件日期限制的程序
💻 C
📖 第 1 页 / 共 2 页
字号:
               else
               	CheckDlgButton(hWnd,IDC_EVERYDAY,BST_UNCHECKED);
               nOldSel=i;
               bInSel=FALSE;
               break;
         }
			break;

		case WM_CLOSE:
      	SortList1();
         WriteTimerInfo();
         btRuning=FALSE;
         bSheet=FALSE;
			EndDialog(hWnd,TRUE);
			return TRUE;

      case WM_NOTIFY:
    		switch (((NMHDR FAR *) lParam)->code)
    		{

				case PSN_SETACTIVE:
               btRuning=TRUE;
               break;

				case PSN_APPLY:
               if(nOldSel==-2)
               {
               	bSheet=FALSE;
               	break;
               }
               //GetDlgItemText(hWnd,IDC_ALARMINFO,ti[nOldSel].szInfo,500);
               switch(IsDlgButtonChecked(hWnd,IDC_ONEHOUR))
               {
               	case BST_CHECKED:
                  	nAlarmEveryHour=1;
                     break;
                  case BST_UNCHECKED:
                  	nAlarmEveryHour=0;
                     break;
               }
               RegAlarm();
               SortList1();
               WriteTimerInfo();
               btRuning=FALSE;
               bSheet=FALSE;
            	SetWindowLong(hMainWnd, GWL_STYLE, GetWindowLong(hMainWnd,GWL_STYLE));
					ShowWindow(hMainWnd, SW_SHOW);

               SetWindowLong(hWnd,DWL_MSGRESULT, FALSE);
               return TRUE;

				case PSN_KILLACTIVE:
            	//btRuning=FALSE;
               SetWindowLong(hWnd,DWL_MSGRESULT, FALSE);
					return (TRUE);

				case PSN_RESET:
            	btRuning=FALSE;
               bSheet=FALSE;
            	break;

				case PSN_HELP:
					break;
    	}

		default:
			return FALSE;
	}
	return FALSE;
}

void TimeToString(void)
{
	int i;

   for(i=0;i<nTimerNum;i++)
   {
      if(ti[i].wHour<10)
   		wsprintf(ti[i].szTimerString,"0%d:",ti[i].wHour);
      else
      	wsprintf(ti[i].szTimerString,"%d:",ti[i].wHour);
      if(ti[i].wMinute<10)
   		wsprintf(ti[i].szTimerString,"%s0%d",ti[i].szTimerString,ti[i].wMinute);
      else
      	wsprintf(ti[i].szTimerString,"%s%d",ti[i].szTimerString,ti[i].wMinute);
   }
}

void SortList1(void)
{
   int i,j,pi[10];
   TIMERINFO tiTemp,tiSort;

	for(i=0;i<nTimerNum;i++)
   {
     	pi[i]=SendMessage(hListWnd,LB_GETITEMDATA,i,0L);
   }
   for(i=0;i<nTimerNum;i++)
   {
      if(pi[i]!=i)
      {
	     	tiSort=ti[pi[i]];
   	   tiTemp=ti[i];
      	ti[i]=tiSort;
	      ti[pi[i]]=tiTemp;
         for(j=0;j<nTimerNum;j++)
         {
   	   	if(pi[j]==i)
            	pi[j]=pi[i];
         }
      }
   }
}

void GetTimerInfo(int n)
{
	int i;
   char sztemp[500];
   HKEY  hKey1;//, hKey2;
  	DWORD  dwDisposition;
  	LONG   lRetCode;
   DWORD dwDate,dwDateSize=sizeof(DWORD);
   DWORD dwtemp;

   lRetCode=RegCreateKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\phonix\\sharewareluncher",0, NULL, REG_OPTION_NON_VOLATILE,
                           KEY_ALL_ACCESS,NULL,&hKey1,&dwDisposition);
   if (lRetCode != ERROR_SUCCESS)
   {
     	Errmsg("Error in creating key\n");//,"Error",MB_OK);
      return;//break;
   }

   for(i=0;i<n;i++)
   {
   	wsprintf(sztemp,"TimerHour%d",i);
      lRetCode=RegQueryValueEx(hKey1,sztemp,NULL,&dwtemp,(LPBYTE)(&dwDate),&dwDateSize);
      if (lRetCode != ERROR_SUCCESS)
			ti[i].wHour=0;
      else
      	ti[i].wHour=(WORD)dwDate;

      wsprintf(sztemp,"TimerMinute%d",i);
      lRetCode=RegQueryValueEx(hKey1,sztemp,NULL,&dwtemp,(LPBYTE)(&dwDate),&dwDateSize);
      if (lRetCode != ERROR_SUCCESS)
			ti[i].wMinute=0;
      else
      	ti[i].wMinute=(WORD)dwDate;

      wsprintf(sztemp,"TimerChar%d",i);
      dwDisposition=500;
      lRetCode=RegQueryValueEx(hKey1,sztemp,NULL,&dwtemp,(LPBYTE)(ti[i].szInfo),&dwDisposition);
      if (lRetCode != ERROR_SUCCESS)
      {
      	wsprintf(ti[i].szInfo,"\0");
      }

      wsprintf(sztemp,"Timerflag%d",i);
      lRetCode=RegQueryValueEx(hKey1,sztemp,NULL,&dwtemp,(LPBYTE)(&dwDate),&dwDateSize);
      if (lRetCode != ERROR_SUCCESS)
			ti[i].nflag=0;
      else
      	ti[i].nflag=(WORD)dwDate;
   }
}
#pragma argsused
void ListDel1(int x)
{
	int i;
   //char sztemp[20];
   HKEY  hKey1;//, hKey2;
  	DWORD  dwDisposition;
  	//LONG   lRetCode;
   DWORD dwFlag=(DWORD)nTimerNum,dwDateSize=sizeof(DWORD);
   //char cmd[150]="SOFTWARE\\phonix\\sharewareluncher\\";
   char sz[150];

   RegCreateKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\phonix\\sharewareluncher",0, NULL, REG_OPTION_NON_VOLATILE,
                           KEY_ALL_ACCESS,NULL,&hKey1,&dwDisposition);

	RegSetValueEx ( hKey1,"tiNum",NULL,REG_DWORD,(LPBYTE)(&dwFlag),dwDateSize);

   if(bNoShowDel)
   {
   	for(i=x;i<nTimerNum;i++)
   	{
   		ti[i]=ti[i+1];
   	}
      bNoShowDel=FALSE;
   }

   ti[nTimerNum].wHour=0;
   ti[nTimerNum].wMinute=0;
   wsprintf(ti[nTimerNum].szInfo,"\0");
   wsprintf(ti[nTimerNum].szTimerString,"\0");
   ti[nTimerNum].nflag=0;


   wsprintf(sz,"TimerHour%d",nTimerNum);
   RegDeleteValue(hKey1,sz);
   wsprintf(sz,"TimerMinute%d",nTimerNum);
   RegDeleteValue(hKey1,sz);
   wsprintf(sz,"TimerChar%d",nTimerNum);
   RegDeleteValue(hKey1,sz);
   wsprintf(sz,"Timerflag%d",nTimerNum);
   RegDeleteValue(hKey1,sz);
}

void TtoS(int a,int b,int c)
{

	titemp=ti[c];

	if(a<10)
   	wsprintf(ti[c].szTimerString,"0%d:",a);
   else
   	wsprintf(ti[c].szTimerString,"%d:",a);
   if(b<10)
   	wsprintf(ti[c].szTimerString,"%s0%d",ti[c].szTimerString,b);
   else
   	wsprintf(ti[c].szTimerString,"%s%d",ti[c].szTimerString,b);
   ti[c].wHour=(WORD)a;
   ti[c].wMinute=(WORD)b;
}

void WriteTimerInfo(void)
{
	int i;
	char sztemp[20];
   HKEY  hKey1;//, hKey2;
  	DWORD  dwDisposition;
  	LONG   lRetCode;
   DWORD dwFlag=(DWORD)nTimerNum,dwDateSize=sizeof(DWORD);

   lRetCode=RegCreateKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\phonix\\sharewareluncher",0, NULL, REG_OPTION_NON_VOLATILE,
                           KEY_ALL_ACCESS,NULL,&hKey1,&dwDisposition);
   if (lRetCode != ERROR_SUCCESS)
   {
     	Errmsg("Error in creating key\n");//,"Error",MB_OK);
      return;//break;
   }

	lRetCode = RegSetValueEx ( hKey1,"tiNum",NULL,REG_DWORD,(LPBYTE)(&dwFlag),dwDateSize);
     				// if we failed, note it, and leave
   if (lRetCode != ERROR_SUCCESS)
	{
      Errmsg("Error in getting Section1 value\n");//,"Reg Error",MB_OK);
     	return;
   }

   for(i=0;i<nTimerNum;i++)
   {
		wsprintf(sztemp,"TimerHour%d",i);
      dwFlag=ti[i].wHour;
      RegSetValueEx ( hKey1,sztemp,NULL,REG_DWORD,(LPBYTE)(&dwFlag),dwDateSize);

      wsprintf(sztemp,"TimerMinute%d",i);
      dwFlag=ti[i].wMinute;
      RegSetValueEx ( hKey1,sztemp,NULL,REG_DWORD,(LPBYTE)(&dwFlag),dwDateSize);

      wsprintf(sztemp,"TimerChar%d",i);
      RegSetValueEx ( hKey1,sztemp,NULL,REG_SZ,(LPBYTE)(ti[i].szInfo),dwDateSize);

      wsprintf(sztemp,"Timerflag%d",i);
      dwFlag=ti[i].nflag;
      RegSetValueEx ( hKey1,sztemp,NULL,REG_DWORD,(LPBYTE)(&dwFlag),dwDateSize);
   }
}

void RegAlarm(void)
{
	HKEY  hKey1;//, hKey2;
  	DWORD  dwDisposition;
  	LONG   lRetCode;
   DWORD dwFlag=(DWORD)nAlarmEveryHour,dwDateSize=sizeof(DWORD);

   lRetCode=RegCreateKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\phonix\\sharewareluncher",0, NULL, REG_OPTION_NON_VOLATILE,
                           KEY_ALL_ACCESS,NULL,&hKey1,&dwDisposition);
   if (lRetCode != ERROR_SUCCESS)
   {
     	Errmsg("Error in creating key\n");//,"Error",MB_OK);
      return;//break;
   }

	lRetCode = RegSetValueEx ( hKey1,"AlarmEveryHour",NULL,REG_DWORD,(LPBYTE)(&dwFlag),dwDateSize);
     				// if we failed, note it, and leave
   if (lRetCode != ERROR_SUCCESS)
	   Errmsg("Error in getting Section1 value\n");//,"Reg Error",MB_OK);
}

void DoTimerChange(HWND hWnd)
{
   int i,j,a,b;

	i=SendMessage(hListWnd,LB_GETCURSEL,0,0);
   if(i==LB_ERR)
   {
     	nOldSel=-2;
     	return;
   }

   j=SendMessage(hListWnd, LB_GETITEMDATA, i, (LPARAM) 0);

   a=GetDlgItemInt(hWnd,IDC_SETHOUR,NULL,FALSE);
   if(a<0 || a>23)
   	a=0;
   b=GetDlgItemInt(hWnd,IDC_SETMIN,NULL,FALSE);
   if(b<0 || b>59)
   	b=0;

   TtoS(a,b,j);
   {
   	int x;
      BOOL bf=FALSE;

      for(x=0;x<nTimerNum;x++)
      {
      	if(x!=j)
         	if(strcmp(ti[j].szTimerString,ti[x].szTimerString)==0)
         	{
         		bf=TRUE;
            	break;
         	}
      }
      if(bf)
      {
      	ti[j]=titemp;
         return;
      }
      SendMessage(hListWnd,LB_DELETESTRING,i,0L);
      SendMessage(hListWnd,LB_ADDSTRING,0,(LPARAM)(ti[j].szTimerString));
      x=SendMessage(hListWnd,LB_FINDSTRING,-1,(LPARAM)(ti[j].szTimerString));
      SendMessage(hListWnd,LB_SETITEMDATA, x, (LPARAM) j);
      SendMessage(hListWnd,LB_SETCURSEL,x,0);
      nOldSel=x;
   }
}

⌨️ 快捷键说明

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