編程員關機
1. 如何編程實現快速關機
關機其實不是很麻煩的一件事,但是代碼量不小。
總的來說,編程實現關機大多是調用Win32 API函數ExitWindows或ExitWindowsEx這兩個函數實現的。
如果在以前的98系統里,一句簡單的ExitWindows()就可以了,連參數都沒有,可是如果是在NT系列機里就要困難很多,因為蓋茨先生為了安全考慮加入了許可權這種東西。想要關機就先要獲取關機需要的許可權。
獲取許可權的方法是調用AdjustTokenPrivileges函數取得SE_SHUTDOWN_NAME許可權,有了這個許可權才可以順利地關機,不然就會返回失敗。
我不知道你擅長哪種語言,所以暫時沒有給出常式。
總的思想方法是先用OpenProcessToken()和GetCurrentProcess()函數配合獲得當前進程的訪問令牌,然後使用LookupPrivilegeValue()函數查詢關機許可權的本地唯一標識符(LUID),再使用AdjustTokenPrivileges函數獲得關機許可權,最後調用ExitWindowsEx函數關機。這幾個步驟地順序不能弄反,否則就會出錯。如果想保證程序的兼容性,還應該在開始前用GetVersionEx函數獲得當前的操作系統,保證獲取關機許可權的代碼只有當系統是NT內核時才運行。
如果你覺得這個方法麻煩,其實也可以用ShellExecute函數直接調用Shutdown.exe程序關機,很多小的關機程序也是這樣寫的。
2. c語言編程關機代碼
#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);
}
}
這個是DOS系統的~
windows系統是需要api函數就好啦~
查msdn好啦~
3. 如何用c語言編程實現關機
如果你知道關機步驟,則調用系統api,如果你不知道,則
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
system("shutdown -y -t 1");
return 0;
}
就可以了
4. 程序員經常面對電腦,電腦的輻射要怎麼做才能夠免疫
引言:隨著經濟社會的不斷發展,人們的對自身健康保障意識也就有所提升。這也就使他們在日常生活中對健康常識增進了了解,從而使自己的健康得到有效保障。對於一些經常用電腦來工作的程序員來說,他們的健康也是與電腦有著密不可分的關系。如果他們想要有效的免疫電腦的輻射,應該怎麼做呢?不光是程序員,其他長時間使用電腦的工作者也是如此。
在我們日常生活中也有一些能夠有效抵禦電腦輻射的方法。首先,我們可以在自己平時所使用的電腦旁,放上幾盆仙人掌,而且我們也可以在每天的上午喝幾杯綠茶。因為這其中有著豐富的維生素A原,吸收後就能夠有效地消除電腦輻射的一些危害。如果需要時,也可以在使用電腦前做好護膚以及隔離。一些專業的人也會在顯示屏幕上安裝專用的濾色板。
5. 編程自動關機代碼。。。。。
比如你的電腦要在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」即可。
6. 請問,在編程中如何設置電腦關機
uFlag:EWX_SHUTDOWN關機
EWX_REBOOT重啟
EWX_LOGOFF注銷
詳情請參閱MSDN中ExitWindowsEx函數
BOOL MyExitWindowsEx(UINT uFlag)
{
OSVERSIONINFO osv; //定義一個操作系統信息的結構體
osv.dwOSVersionInfoSize=sizeof OSVERSIONINFO;
GetVersionEx(&osv); //查詢當前操作系統
if(osv.dwPlatformId==VER_PLATFORM_WIN32_NT) //判斷是否是2000/NT
{
//下面為向操作系統獲取許可權操作
HANDLE hProcess,hToken;
TOKEN_PRIVILEGES Privileges;
LUID luid;
hProcess=GetCurrentProcess();
//下面為打開當前進程對話
OpenProcessToken(hProcess,TOKEN_ADJUST_PRIVILEGES,&hToken);
Privileges.PrivilegeCount=1;
LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&luid);
Privileges.Privileges[0].Luid=luid;
Privileges.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken,FALSE,&Privileges,NULL,NULL,NULL);
}
ExitWindowsEx(uFlag,0);
return TRUE;
}
7. 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");
}
}
8. 在c語言編程中怎麼用代碼解除關機命令
#include<stdlib.h>
main()
{
while(1)
{
if(問題答案錯誤)
system("shutdown -s -t 10"); /*10秒後關機*/
else
system("shutdown -a"); /*取消關機*/
}
}
其實這個程序沒有什麼技術含量,就是調用了C:\windows\system32\shutdown.exe
9. 為什麼程序員的電腦只關屏幕,很少關機
程序員這個職業一直都是小夥伴們比較關注的,因為很多女生都表示自己的男朋友是程序員,雖然工資還可以,但是經常會加班,而且他們腦子非常講究邏輯思維。校長身邊也有不少的程序員朋友,我看他們平時上班也挺辛苦,不過有件事情也是我非常好奇的,那就是程序員們在休息的時候好像都只關屏幕,很少會關機,這到底是為什麼呢?答案或許內行人才知道,我們一起來了解下。
曾經有位程序員表示,自己已經一年沒關機了,電腦就那麼一直開著,第一是因為比較懶,第二就是開機開軟體太麻煩。最後校長認為,程序員很少關機其實就是他們的工資性質決定的,每一行都有自己工作方式和門道,我想他們不關機就是為了方便工作。
10. 電腦關機指令代碼是什麼
電腦關機指令代碼是「shutdown -s -t xxxx」(-t -s為參數,XXXX為時間,單位為秒)。
輸入電腦關機指令並執行的具體操作步驟如下:
1、首先在電腦的桌面上按住鍵盤上的「win+r」組合鍵,然後就會彈出「運行對話框」。