編寫一個關機命令
Windows XP(Windows 2000也可以)自身就具備定時關機的功能,下面我們就來看看如何實現Windows XP的自動關機。
Windows XP的關機是由*程序來控制的,位于Windows\System32文件夾中。如果想讓Windows 2000也實現同樣的效果,可以把*復制到系統目錄下。
比如你的電腦要在22:00關機,可以選擇“開始→運行”,輸入“at 22:00 Shutdown -s”,這樣,到了22點電腦就會出現“系統關機”對話框,默認有30秒鐘的倒計時并提示你保存工作。如果你想以倒計時的方式關機,可以輸入“* -s -t 3600”,這里表示60分鐘后自動關機,“3600”代表60分鐘。
設置好自動關機后,如果想取消的話,可以在運行中輸入“shutdown -a”。另外輸入“shutdown -i”,則可以打開設置自動關機對話框,對自動關機進行設置。
*的參數,每個都具有特定的用途,執行每一個都會產生不同的效果,比如“-s”就表示關閉本地計算機,“-a”表示取消關
機操作,下面列出了更多參數,大家可以在*中按需使用。
用法: shutdown [-i | -l | -s | -r | -a] [-f] [-m \\computername] [-t xx] [-c "comment"] [-d up:xx:yy]
沒有參數 顯示此消息(與 ? 相同)
-i 顯示 GUI 界面,必須是第一個選項
-l 注銷(不能與選項 -m 一起使用)
-s 關閉此計算機
-r 關閉并重啟動此計算機
-a 放棄系統關機
sorry 只知道這些了。
可以用WINDOWS腳本關機的語句
windows命令行:shutdown,
windows2003和xp下都可以吧.
用法: shutdown [/i | /l | /s | /r | /a | /p | /h | /e] [/f]
[/m \\computer][/t xxx][/d [p:]xx:yy [/c "comment"]]
沒有參數 顯示幫助。這與鍵入 /? 是一樣的
/? 顯示幫助。這與不鍵入任何選項是一樣的
/i 顯示圖形用戶界面(GUI)。
這必須是第一個選項
/l 注銷。這不能與 /m 或 /d 選項一起使用
/s 關閉計算機
/r 關閉并重啟動計算機
/a 放棄系統關閉。
這只能在超時過程中使用
/p 關閉本地計算機,沒有超時或警告。
這只能與 /d 選項一起使用
/h 休眠本地計算機。
這只能與 /f 選項一起使用
/e 將計算機的意外關閉原因記入文檔
/m \\computer 指定目標計算機
/t xxx 設置關閉前的超時為 xxx 秒。
有效范圍是 0-600,默認為 30
/c "comment" 重啟動或關閉的原因的注釋。
最大允許 127 個字符
/f 強制正在運行的應用程序關閉而不事先警告用戶
/d [p:]xx:yy 提供重啟動或關閉的原因
p 表明重啟動或關閉是計劃內的
xx 是主要原因號(小于 256 的正整數)
yy 是次要原因號(小于 65536 的正整數)
此計算機上的原因:
(E = 預期 U = 意外 P = 計劃, C = 自定義)
類別 主要 次要 標題
U 0 0 其他(沒有計劃的)
E 0 0 其他(沒有計劃的)
E P 0 0 其他(計劃的)
U 0 5 其他故障: 系統沒有反應
E 1 1 硬件: 維護(沒有計劃的)
E P 1 1 硬件: 維護(計劃的)
E 1 2 硬件: 安裝(沒有計劃的)
E P 1 2 硬件: 安裝(計劃的)
P 2 3 操作系統: 升級(計劃的)
E 2 4 操作系統: 重新配置(沒有計劃的)
E P 2 4 操作系統: 重新配置(計劃的)
P 2 16 操作系統: 服務包(計劃中)
2 17 操作系統: 熱修補(沒有計劃)
P 2 17 操作系統: 熱修補(計劃中)
2 18 操作系統: 安全修補(沒有計劃)
P 2 18 操作系統: 安全修補(計劃中)
E 4 1 應用程序: 維護(沒有計劃的)
E P 4 1 應用程序: 維護(計劃的)
E P 4 2 應用程序: 安裝(計劃中)
E 4 5 應用程序: 沒有反應
E 4 6 應用程序: 不穩定
U 5 15 系統故障: 停止錯誤
E 5 19 安全問題
U 5 19 安全問題
E P 5 19 安全問題
E 5 20 網絡連接性丟失(沒有計劃的)
U 6 11 電源故障: 電線被拔掉
U 6 12 電源故障: 環境
P 7 0 舊版 API 關機
vb關機之類語句是怎樣得
關機程序可以適用于98/xp/2000,在程序中調用即可。
現在操作系統多為2000或xp,所以需要特別注意的是應該先得到關機的特權:(要想弄懂下面的程序,先要具備vb調用api函數的知識。)
其中:前面一些Public Declare都是api函數的聲明. Public Sub AdjustToken()子程序用來取得關機特權. Public Sub Shutdown() '是關機子程序 Public Sub Reboot() '是重啟子程序*********************代碼開始了:*****************Public Structure LUID Dim UsedPart As Integer Dim IgnoredForNowHigh32BitPart As Integer End Structure Public Structure LUID_AND_ATTRIBUTES Dim TheLuid As LUID Dim Attributes As Integer End Structure Public Structure TOKEN_PRIVILEGES Dim PrivilegeCount As Integer Dim TheLuid As LUID Dim Attributes As Integer End Structure '強制關機函數 Public Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Integer, ByVal dwReserved As Integer) As Integer 'GetLastError函數返回本線程的最后一次錯誤代碼。錯誤代碼是按照線程 '儲存的,多線程也不會覆蓋其他線程的錯誤代碼。
Public Declare Function GetLastError Lib "kernel32" () As Integer 'GetCurrentProcess函數返回當前進程的一個句柄。 Public Declare Function GetCurrentProcess Lib "kernel32" () As Integer 'OpenProcessToken函數打開一個進程的訪問代號。
Public Declare Function OpenProcessToken Lib "advapi32" (ByVal ProcessHandle As Integer, ByVal DesiredAccess As Integer, ByRef TokenHandle As Integer) As Integer 'LookupPrivilegeValue函數獲得本地唯一的標示符(LUID),用于在特定的系統中 '表示特定的優先權。 'UPGRADE_WARNING: 結構 LUID 可能要求封送處理屬性作為此聲明語句中的參數傳遞。
單擊以獲得更多信息:“ms-help://*.2003 /commoner/redir/*?keyword="vbup1050"” Public Declare Function LookupPrivilegeValue Lib "advapi32" Alias "LookupPrivilegeValueA"(ByVal lpSystemName As String, ByVal lpName As String, ByRef lpLuid As LUID) As Integer 'AdjustTokenPrivileges函數使能或者禁用指定訪問記號的優先權。 '使能或者禁用優先權需要TOKEN_ADJUST_PRIVILEGES訪問權限。
'UPGRADE_WARNING: 結構 TOKEN_PRIVILEGES 可能要求封送處理屬性作為此聲明語句中的參數傳遞。 單擊以獲得更多信息:“ms- help://*.2003/commoner/redir/*?keyword="vbup1050"” 'UPGRADE_WARNING: 結構 TOKEN_PRIVILEGES 可能要求封送處理屬性作為此聲明語句中的參數傳遞。
單擊以獲得更多信息:“ms- help://*.2003/commoner/redir/*?keyword="vbup1050"” Public Declare Function AdjustTokenPrivileges Lib "advapi32" (ByVal TokenHandle As Integer, ByVal DisableAllPrivileges As Integer, ByRef NewState As TOKEN_PRIVILEGES, ByVal BufferLength As Integer, ByRef PreviousState As TOKEN_PRIVILEGES, ByRef ReturnLength As Integer) As Integer Public Declare Sub SetLastError Lib "kernel32" (ByVal dwErrCode As Integer) '******************************************************************** '* 這個過程設置正確的優先權,以允許在Windows NT下關機或者重新啟動。 '******************************************************************** Public Sub AdjustToken() Const TOKEN_ADJUST_PRIVILEGES As Short = &H20s Const TOKEN_QUERY As Short = &H8s Const SE_PRIVILEGE_ENABLED As Short = &H2s Dim hdlProcessHandle As Integer Dim hdlTokenHandle As Integer Dim tmpLuid As LUID Dim tkp As TOKEN_PRIVILEGES Dim tkpNewButIgnored As TOKEN_PRIVILEGES Dim lBufferNeeded As Integer '使用SetLastError函數設置錯誤代碼為0。
'這樣做,GetLastError函數如果沒有錯誤會返回0 '''''''SetLastError 0 'GetCurrentProcess函數設置 hdlProcessHandle變量 hdlProcessHandle = GetCurrentProcess() ''''' If GetLastError <> 0 Then ''''' MsgBox "GetCurrentProcess error==" & GetLastError ''''' End If OpenProcessToken(hdlProcessHandle, TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY, hdlTokenHandle) ''''' If GetLastError <> 0 Then ''''' MsgBox "OpenProcessToken error==" & GetLastError ''''' End If ' 獲得關機優先權的LUID LookupPrivilegeValue("", "SeShutdownPrivilege", tmpLuid) '''''If GetLastError <> 0 Then '''''MsgBox "LookupPrivilegeValue error==" & GetLastError '''''End If *egeCount = 1 ' 設置一個優先權 'UPGRADE_WARNING: 未能解析對象 *d 的默認屬性。 單擊以獲得更多信息:“ms-help://*.2003/commoner/redir/*?keyword="vbup1037"” *d = tmpLuid *utes = SE_PRIVILEGE_ENABLED ' 對當前進程使能關機優先權 AdjustTokenPrivileges(hdlToken。
定時關機命令 shutdown
CPU不高的回答完全證明了他對shutdown還沒有充分的了解,shutdown其實是計劃任務程序中的一個計劃任務,你想(在win7系統下)查看這個程序的話,點擊開始搜索“任務計劃程序”就可以編輯了。
點“任務計劃程序庫”——“創建任務”:
1。“常規”里面名稱取“At18”(其中數字可以任意定)。
2。“觸發器”——“新建”里面你可以規定這個程序在任何時候任何時間運行,一天什么時間,是每天一次還是每周一次,還是每月一次。
3。“操作”——“新建”里面輸入你想運行的程序,“程序或腳本”里面輸入“shutdown”,“添加參數”里如果你輸入“-s -t 30 “那就是倒計時30秒關機。具體的參數你可以搜一下shutdown有關的命令。
xp的系統我沒有試過,不過win7絕對可以。
自動關機命令
有點多,請耐心看!Windows XP的關機是由*程序來控制的,位于Windows\System32文件夾中。
如果想讓Windows 2000也實現同樣的效果,可以把*復制到系統目錄下。 比如你的電腦要在22:00關機,可以選擇“開始→運行”,輸入“at 22:00 Shutdown -s”, 這樣,到了22點電腦就會出現“系統關機”對話框,默認有30秒鐘的倒計時并提示你保存工作。
如果你想以倒計時的方式關機,可以輸入“* -s -t 3600”,這里表示60 分鐘后自動關機,“3600”代表60分鐘。 設置好自動關機后,如果想取消的話,可以在運行中輸入“shutdown -a”。
另外輸入“shutdown -i”,則可以打開設置自動關機對話框,對自動關機進行設置。 *的參數,每個都具有特定的用途,執行每一個都會產生不同的效果,比如 “-s”就表示關閉本地計算機,“-a”表示取消關機操作,下面列出了更多參數, 可以在*中按需使用。
-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”即可。