|
升級(jí)版 -> 定時(shí)小工具

再程序提示輸入文件路徑時(shí)輸入:Love 夢(mèng)想 可以得到源代碼
升級(jí)版程序下載地址:定時(shí)小工具
舊版源代碼
===================================================
===================================================
- 首次采用彈窗~~~~
- #include <stdlib.h>
- #include <stdio.h>
- #include <windows.h>
- #include <time.h>
- #include <unistd.h>
- int nl(int a),nll(int a); // 【nl(int a)】 Sleep方式函數(shù) 【nll(int a)】 time_t方式函數(shù)
- char xuanze(char yy); // 判斷輸入選擇函數(shù)
- int dongzuo(),jilu(),fs(); //【dongzuo()】 讀取用戶指定運(yùn)行動(dòng)作函數(shù) 【jilu()】記錄文件函數(shù) 【fs()】選擇計(jì)時(shí)方式函數(shù)
- char ll[130]={0},lj[100]={0},file[]="鬧鈴動(dòng)作.txt",kk[]="請(qǐng)將要運(yùn)行的程序或音樂的絕對(duì)路徑復(fù)制到這里,覆蓋這行字并保存(支持DOS命令)...";
- int main()
- {
-
- system("COLOR 0a");
- system("title 歡迎使用由【遲、鈍dè豬】設(shè)計(jì)的程序~~");
- printf("*******************************************************************************");
- printf("\n\n\t\t\t\t【 說 明 】");
- printf("\n\n\t可惜的是不能實(shí)現(xiàn)自動(dòng)開機(jī),不過它的作用不僅僅局限于鬧鐘......");
- printf("\n\n\t嘿嘿,這是值得欣慰地方,提供兩種記時(shí)方式,以減少時(shí)間誤差......");
- printf("\n\n\t【Sleep】記時(shí)方式是讓程序暫停運(yùn)行,暫停時(shí)間由用戶指定的時(shí)間......");
- printf("\n\n\t【time_t】方式記時(shí)方式是讓程序不斷讀取時(shí)間差是否等于用戶指定的時(shí)間...");
- printf("\n\n\t精確到分鐘,最低也需要1分鐘,有時(shí)間再把它精確到秒吧,O(∩_∩)O~.......");
- printf("\n\n\t最后感謝【藍(lán)雨森林】QQ:000000......");
- printf("\n\n\t解決了讓我郁悶了很久的重復(fù)使用scanf()函數(shù)無法中斷程序等待用戶輸入問題..");
- printf("\n\n\t\t\t\t\t\t遲、鈍dè豬 QQ:0000000000\n\n");
- printf("\t\t\t\t\t\t2010年12月25日 0:11 設(shè)計(jì)\n\n");
- printf("*******************************************************************************");
- system("pause");
- system("cls");
- printf("\n\n\a【請(qǐng)注意彈出的對(duì)話框,有可能會(huì)隱藏在程序界面的背后...】");
- jilu();// 判斷、讀取記錄文件函數(shù)
- dongzuo(); // 調(diào)用記錄用戶指定函數(shù)
- fs(); // 計(jì)時(shí)方式選擇函數(shù)
- }
-
- /*********************************/
- /*-------【計(jì)時(shí)方式選擇】------*/
- /********************************/
- int fs()
- {
- int a;
- if((MessageBox(0,"【Y】Sleep 方式記時(shí) [無倒計(jì)時(shí)提示,誤差較小]\n\n【N】time_t方式記時(shí) [有倒計(jì)時(shí)提示,誤差較大]","選擇記時(shí)方式",MB_YESNO))==6)
- {
- system("title 歡迎使用由【遲、鈍dè豬】設(shè)計(jì)的程序~~【Sleep方式記時(shí)】");
- printf("\n請(qǐng)輸入鬧鈴時(shí)間(分鐘):");
- scanf("%d",&a);
- nl(a);
- }
- else
- {
- system("title 歡迎使用由【遲、鈍dè豬】設(shè)計(jì)的程序~~【time_t方式記時(shí)】");
- printf("\n請(qǐng)輸入鬧鈴時(shí)間(分鐘):");
- scanf("%d",&a);
- nll(a);
- }
- strcpy(ll,"\"");
- strcat(ll,lj);
- strcat(ll,"\"");
- printf("【懶豬!時(shí)間到!該刷牙洗臉騎著破電動(dòng)去上班啦...】\n\n\a\a\a");
- system(ll); // 執(zhí)行用戶指定的程序、音樂或命令
- system("pause');
- exit(0);
- }
-
- /*********************************/
- /*-------【Sleep方式記時(shí)】------*/
- /********************************/
- int nl(int a)
- {
- a*=60000; // 將毫秒轉(zhuǎn)換為分鐘
- printf("\n【已進(jìn)入倒計(jì)時(shí)鬧鈴!】\n\n");
- Sleep(a); // 中斷程序,等待用戶指定的時(shí)間后返回主函數(shù)
- }
-
- /**********************************/
- /*-------【time_t方式記時(shí)】------*/
- /*********************************/
- int nll(int a)
- {
- time_t start,end;
- int v,d=1,i=60,h=1;
- a*=60;// 轉(zhuǎn)化為分鐘 1分鐘=60秒
- printf("\n【已進(jìn)入倒計(jì)時(shí)鬧鈴!】\n\n");
- start=time(NULL);// 開始記錄時(shí)間并賦值給變量start
- printf("距離鬧鈴時(shí)間還!%d】分鐘\n\n",a/60-d);
- for(;;)
- {
- end=time(NULL);// 結(jié)束記錄時(shí)間并賦值給變量end
- if((difftime(end,start))==a)// 如果開始記錄的時(shí)間到結(jié)束記錄的時(shí)間等于指定的時(shí)間 則跳出循環(huán)
- break;
- else // 否則
- {
- if((difftime(end,start))==i) // 如果開始記錄的時(shí)間到結(jié)束記錄的時(shí)間等于i=60=1分鐘 則顯示剩余時(shí)間
- {
- v=a/60-1-d;
- if(h==1)// 設(shè)定h 控制每分鐘只顯示一次提示信息
- {
- printf("距離鬧鈴時(shí)間還剩【%d】分鐘\n\n",v);
- h=0;
- }
- }
- else if((difftime(end,start))>i) // 控制每分鐘都會(huì)有顯示
- {
- h=1;
- i+=60;//記錄分鐘
- d++;//記錄秒
- }
- }
- }
- }
- /**************************************/
- /*-------記錄用戶指定文件或命令------*/
- /*************************************/
- int dongzuo()
- {
- FILE *fp;
- char r;
- if((fp=fopen(file,"w"))==NULL)
- MessageBox(0,"無法寫入動(dòng)作文件","提示",MB_OK);
- else
- {
- fputs(kk,fp);
- fclose(fp);
- system(file);
- }
-
- if((fp=fopen(file,"r"))==NULL)
- puts("無法讀取動(dòng)作");
- else
- {
- fscanf(fp,"%[^\n]",lj); // 不寫%s 而寫%[^\n]是因?yàn)樽宖scanf()函數(shù)可以讀取空格并寫入文件 \n :代表空格
- fclose(fp);
- if((strcmp(lj,kk))==0)
- {
- MessageBox(0,"程序未檢測(cè)到你輸入了程序、音樂的絕對(duì)路徑或DOS命令","注意",MB_OK);
- dongzuo();
- }
- printf("\n\n你輸入了這行路徑或Dos命令:\n\n【%s】\n\n",lj);
- printf("【提示:當(dāng)時(shí)間到了程序會(huì)自動(dòng)運(yùn)行上面的程序、音樂或命令...】\n\n");
- printf("確認(rèn)以上的路徑或Dos命令嗎?(Y/N):");
- r=xuanze(r);
- if(r=='N'||r=='n')dongzuo();
- if((MessageBox(0,"是否保存此記錄以供下次使用?","提示",MB_YESNO))==6)
- MessageBox(0,"如果需要更改運(yùn)行的程序、音樂或命令,可以刪除本目錄下的【鬧鈴動(dòng)作.txt】\n\n或直接更改里面程序、音樂的絕對(duì)路徑或命令......","提示",MB_OK);
- else
- unlink(file);
-
- }
- }
-
- /***********************/
- /*-------判斷輸入------*/
- /***********************/
- char xuanze(char yy)
- {
- for(;;)
- {
-
- scanf("%c",&yy);
- fflush(stdin); // 清除一個(gè)流...避免重復(fù)使用scanf()函數(shù)是無法中斷程序等待用戶輸入 (這個(gè)問題讓我頭疼N久...)
- if(yy!='y'&&yy!='n'&&yy!='Y'&&yy!='N')
- {
- printf("\n輸入錯(cuò)誤,請(qǐng)重新輸入:\a");
- continue;
- }
- else
- break;
- }
- return yy;
- }
- /***********************/
- /*-------歷史記錄------*/
- /***********************/
- int jilu()
- {
- FILE *fp;
- if((fp=fopen(file,"r"))==NULL);
- else
- {
- printf("\n\n\t發(fā)現(xiàn)記錄文件,正在讀取記錄文件...");
- fscanf(fp,"%[^\n]",lj); // 為什么不寫%s 而寫%[^\n]是因?yàn)樽宖scanf()函數(shù)可以讀取空格并寫入文件 \n :代表空格
- fclose(fp);
- printf("\n\n路徑或Dos命令為:\n\n【%s】\n\n",lj);
- printf("【提示:當(dāng)時(shí)間到了程序會(huì)自動(dòng)運(yùn)行上面的程序、音樂或命令...】\n\n");
- fs();
- }
-
- }
復(fù)制代碼
下載程序:
dsxgj-v1.0.zip
(14.93 KB, 下載次數(shù): 6)
2015-1-11 01:48 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
|