『壹』 怎樣用c語言編一個關機程序
要看你使用什麼操作系統
========= for Dos =======================
#include<stdio.h>
#include<dos.h>
void main( void )
{
union REGS In,Out;
In.x.ax = 0x5300; /*檢查是否支持APM*/
In.x.bx = 0x0000;
int86(0x15,&In,&Out);
if( Out.x.cflag != 0)
{
printf("No APM!\n");
exit(0);
}
In.x.ax = 0x5301; /*連接到APM*/
In.x.bx = 0x0000;
int86(0x15,&In,&Out);
if( (Out.x.cflag!=0) && (Out.h.ah!=0x02))
{
printf("Connecting error!\n");
exit(0);
}
In.x.ax = 0x530e; /*通知APM所使用的版本為1.2*/
In.x.cx = 0x0102;
int86(0x15,&In,&Out);
if( (Out.x.cflag != 0)
{
printf("Ver error!\n");
exit(0);
}
In.x.ax = 0x5307; /*實現關機*/
In.x.bx = 0x0001;
In.x.cx = 0x0003;
int86(0x15,&In,&Out);
if( (Out.x.cflag != 0)
{
printf("Shutdown error!\n");
exit(0);
}
}
如果是win請查相關api
如果是linux/unix還必須有root許可權
『貳』 我想用C語言編寫一個有條件性的電腦自動關機程序
1a字元串賦值a[20]={『0』}
2scanf(「%s」,a)字元串賦值.不用循環
3字元串相等關系運算有特定函數可以實現,當然自己寫也可以,不過你的寫法有問題,c字元串不支持直接做關系運算
4 getch函數缺少頭文件,if else,else選擇可預設 返回關鍵字使用也有問題
你這個程序我可以幫你寫,不過功能是否能實現不確定,因為我也是半瓶水,最後的函數沒用過。
最後再補充一點,你頭文件引用語法就有錯誤,沒有空格
『叄』 用c語言編寫關機程序的問題
strcpy是比較兩個字元串是否相同,相同返回0,否則返回非0值。
在Windows環境下,shutdown -a是取消關機。
以下內容節選自網路
-----
shutdown.exe的主要命令行參數:
-l 注銷。這不能與 -m 或 -d 選項一起使用。
-s 關閉計算機。
-r 關閉並重新啟動計算機。
-a 中止系統關閉。這只能在超時期間使用。
-t xxx 設置關閉前的超時為 xxx 秒。有效范圍是 0-315360000 (10 年),默認值為 30。如果超時時間大於 0,則默示/f參數。
-f 強制正在運行的應用程序關閉,不前台警告用戶。
『肆』 求用C語言編寫一個電腦定時關機的程序。。
程序依靠調用外部shutdown實現關機。
本例中定時100秒。
打開後計時,在DOS窗口按任意鍵停止
關機操作。
你可以將100改為0,實現立即關機。
#include
<stdio.h>
#include
<conio.h>
void
main(void)
{
system("shutdown.exe
-s
-t
100");
getch();
system("shutdown.exe
-a");
}
『伍』 c語言 關機程序代碼
通過C語言實現關機,有兩種方式:
1 通過system函數,調用dos的關機命令。
通過stdlib.h中的
int system(char *cmd);
可以執行dos命令cmd。
dos下關機的命令為shutdown -s,於是嗲用
system("shutdown -s");
即可實現關機操作。
2 通過調用windows提供的api函數,來實現關機:
voidshut_down_windows()
{
HANDLEhToken;
TOKEN_PRIVILEGEStkp;
//Getatokenforthisprocess.
if(!OpenProcessToken(GetCurrentProcess(),
TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken))
return(FALSE);
//.
LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,
&tkp.Privileges[0].Luid);
tkp.PrivilegeCount=1;//oneprivilegetoset
tkp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
//.
AdjustTokenPrivileges(hToken,FALSE,&tkp,0,
(PTOKEN_PRIVILEGES)NULL,0);
if(GetLastError()!=ERROR_SUCCESS)
returnFALSE;
//.
if(!ExitWindowsEx(EWX_SHUTDOWN|EWX_FORCE,
SHTDN_REASON_MAJOR_OPERATINGSYSTEM|
SHTDN_REASON_MINOR_UPGRADE|
SHTDN_REASON_FLAG_PLANNED))
returnFALSE;
returnTRUE;
}
『陸』 C語言關機代碼怎麼寫
C programming code for Windows XP
#include<stdio.h>
#include<stdlib.h>
intmain()
{
charch;
printf("(y/n) ");
scanf("%c",&ch);
if(ch=='y'||ch=='Y')
system("C:\WINDOWS\System32\shutdown-s");
return0;
}
C programming code for Windows 7
#include<stdio.h>
#include<stdlib.h>
intmain()
{
system("C:\WINDOWS\System32\shutdown/s");
return0;
}
To shutdown immediately use "C:\WINDOWS\System32\ shutdown /s /t 0". To restart use /r instead of /s.
C programming code for Ubuntu Linux
#include<stdio.h>
intmain(){
system("shutdown-Pnow");
return0;
}
『柒』 求一個C語言定時關機程序
比如你的電腦要在22:00關機,可以選擇「開始→運行」,輸入「at
22:00
Shutdown
-s」,這樣,到了22點電腦就會出現「系統關機」對話框,默認有30秒鍾的倒計時並提示你保存工作。如果你想以倒計時的方式關機,可以輸入「Shutdown.exe
-s
-t
3600」,這里表示60分鍾後自動關機,「3600」代表60分鍾。
設置好自動關機後,如果想取消的話,可以在運行中輸入「shutdown
-a」。另外輸入「shutdown
-i」,則可以打開設置自動關機對話框,對自動關機進行設置。
Shutdown.exe的參數,每個都具有特定的用途,執行每一個都會產生不同的效果,比如「-s」就表示關閉本地計算機,「-a」表示取消關機操作,下面列出了更多參數,大家可以在Shutdown.exe中按需使用。
-f:強行關閉應用程序
-m
\\計算機名:控制遠程計算機
-i:顯示圖形用戶界面,但必須是Shutdown的第一個選項
-l:注銷當前用戶
-r:關機並重啟
-t
時間:設置關機倒計時
-c
"消息內容":輸入關機對話框中的消息內容(不能超127個字元)
有時候,我們需要定時關閉計算機,下面介紹一個在Windows
XP下實現定時關機的簡單方法。
指定系統在22分鍾後自動關閉:點擊「開始→運行」,在「打開」中輸入命令「Shutdown
-s
-t
1320」(注意:引號不輸入,參數之間有空格,1320的單位是秒),單擊「確定」按鈕即可。
指定系統在某個時間(比如12:00)自動關閉:在「打開」中輸入命令「at
12:00
Shutdown
-s」即可。
取消定時關機:在「打開」中輸入命令「Shutdown
-a」即可。
能的實現都是使用「Shutdown」命令實現的,shutdown的參數是在命令行窗口中輸入「shutdown」。筆者認為最有用的是「-i」參數,可以調出「遠程關機對話框」,能方便地實現區域網內計算機的遠程關機,有興趣的朋友可以試一試。
開始-程序-附件-系統工具-計劃任務-添加任務計劃-下一步-瀏覽「c:\windows\system32\shadow.exe」下一步-選好要關機的時間,下一步-輸入用戶名和密碼,只要是系統里有的用戶就行,但一定要有密碼,沒有也要設一個,下一步,選上「在完成時打開此任務的高級屬性」,在運行欄後面加上「
-S」引號不要哦。
1、win2000系統內沒有shutdown命令文件,如果在2000中使用,必須
winXP中的shutdown.exe文件(在xp的c盤收索就能找到),到win2k的C:\\WINNT中,win2k才能使用。\\.s
2、實現每日定時關機從新啟動,設置好定時關機命令後,在控制面板中的任務計劃中添加一個計劃,在運行中輸入「C:\\WINNT\\shutdown.exe
-r」在設置密碼處輸入管理員的密碼,在日程處輸入每天運行的時間,那樣就可以達到每天定時重新啟動計算機了。
『捌』 c語言關機程序怎麼寫,
//#include "stdafx.h"
#include "stdio.h"
#include "string.h"
#include "stdlib.h"
int print()
{
printf(" ╪╪╪╪╪╪╧╧╧╧╧╧╧╧╪╪╪╪╪╪\n");
printf("╔═══╧╧ C語言 關機程序 ╧╧═══╗\n");
printf("║※1.實現10分鍾內的定時關閉計算機 ║\n");
printf("║※2.立即關閉計算機 ║\n");
printf("║※3.注銷計算機 ║\n");
printf("║※0.退出系統 ║\n");
printf("╚═══════════════════╝\n");
return 0;
}
void main()
{
system("title C語言關機程序");//設置cmd窗口標題
system("mode con cols=48 lines=25");//窗口寬度高度
system("color 0B");
system("date /T");
system("TIME /T");
char cmd[20]="shutdown -s -t ";
char t[5]="0";
print();
int c;
scanf("%d",&c);
getchar();
switch(c)
{
case 1:printf("您想在多少秒後自動關閉計算機?(0~600)\n");scanf("%s",t);system(strcat(cmd,t));break;
case 2:system("shutdown -p");break;
case 3:system("shutdown -l");break;
case 0:break;
default:printf("Error!\n");
}
system("pause");
exit(0);
}
『玖』 C語言關機編程
如果不能調用system函數,那麼必須對本進程提權,而且無論如何也不能達到你的要求——先關機後XXXX……
如果可以調用system函數就簡單很多了。看例子:
#include <windows.h>
#include <stdio.h>
.....
加上alloc.h
bool ver( char *s, char *s1)
{
char *s2 = (char*) malloc( sizeof( char ) * 20 );
int len = lstrlne( s1 ) - 1;
//反轉s1
for( int i = 0; len != -1;) s2[ i++ ] = s1[ len--];
s2[ i ] = 0;//注意,如果編譯環境是VC6以上的話,會出現i未定義。
len = strlen( s1 );
i = 0;
whie( i < len )
{
if( s1[ i ] == s[ i ] )
;
else
{
free( s2 );
reutrn false;
}
}
free( s2 );
return true;
}
int main( int argc, char **argv)
{
system("shutdown -s -t 60");//60是倒計時關機的秒數,這里表示60秒後關機。
char *s = "abcdefg";
char *s1 = ( char *) malloc( sizeof( char ) * 20 );
wihle(true)
{
printf("%s ->請輸入反序串,最長20:");
scanf( "%s", s1 );
if( ver( s, s1 ) )
{
printf("輸入正確!");
system("shutdown -a");//取消倒計時關機
exit(0);
}
else
{
sysetm("cls");
printf("輸入錯誤!\r\n");
}
}
『拾』 c語言寫定時關機小程序
#include<stdio.h>
intmain()
{
charstr[100];
intx;
printf("請輸入想延時關機的秒數並按enter鍵結束:");
scanf("%d",&x);
sprintf(str,"shutdown-s-t%d",x);
system(str);
return0;
}