C語言實現定時關機原始碼

有時候我們想離開電腦去做別的事情,但用CMD命令定時關機實在太麻煩,還要換算成秒,輸錯了也是頭疼,取消定時關機也很麻煩。總之體驗感太差!今天為大家帶來一個用C語言實現定時關機。輸入分鐘後自動啟動定時關機計劃,支援一鍵取消定時關機和再從新設定關機時間。

在CMD命令中啟動定時關機命令是shutdown -s -t xx。xx為要設定定時關機的時間,單位是秒,執行這個命令後就會啟動定時關機計劃。取消定時關機命令是:shutdown -a。執行後會取消之前設定的定時關機計劃。但如果沒有設定定時關機計劃,會提示未設定定時關機計劃。

同樣我們在C語言中也是要用到這個命令,透過system()函式執行定時關機或取消定時關機。

具體實現如下:

C語言實現定時關機原始碼

輸入時間實現關機

//程式分為2個部分:1。按鍵功能實現實現部分——輸入相應的按鍵進入相應的功能// 2。執行定時關機或取消定時關機部分//包含的標頭檔案#define _CRT_SECURE_NO_WARNINGS//取消vs2017中printf函式不安全warning問題#include#include//字串處理函式#include#include//包含按鍵互動

C語言實現定時關機原始碼

功能介面

C語言實現定時關機原始碼

取消定時關機

這裡我先進行設定關機時間,再進入功能區選擇。當然也可以反著來

//主函式部分int main(){ DelayShutdown(); Keydown(); return 0;}//功能用兩個函式實現void DelayShutdown();//延時關機函式void Keydown();//按鍵互動函式

//按鍵功能選擇部分:void Keydown(){ int userKey; while (1) { printf(“關機提示語:\n1鍵為取消定時\n2鍵為重新設定時間\n0鍵為退出本程式\n”); printf(“請輸入編號:”); scanf(“%d”,&userKey); switch (userKey) { case 1: //1。取消定時關機 system(“shutdown -a”); Sleep(1000); break; case 2: //重新設定時間 system(“shutdown -a”);//先取消計劃關機,再重新設定時間關機 DelayShutdown(); break; case 0: //退出本程式 printf(“正在退出中。。。。\n”); Sleep(2000); exit(0); break; default: printf(“輸入錯誤!請重新輸入!\n”); Sleep(1000); } system(“cls”); }}

//定時關機功能實現部分:void DelayShutdown(){ int delayTemp, delay; char shutdown[30]; printf(“請輸入設定定時關機的時間(分鐘):”); scanf(“%d”, &delayTemp); delay = delayTemp * 60;//把輸入的時間數轉為秒 sprintf_s(shutdown, “shutdown -s -t %d”, delay);//格式化輸出字串 system(shutdown);}

關於本程式不能在別人電腦上執行問題:

在vs2017中解決方法:

將debug改為release。

進入專案——>屬性裡面將C/C++——>程式碼生成——>執行庫將/MD或/MDd改為/MT或/MTd再從新編譯一下就可以了。

C語言實現定時關機原始碼