📄 tab.c
字号:
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 + -