如何自己编写一个倒计时的自动关机程序
- 提问者网友:城市野鹿
- 2021-05-21 21:55
- 五星知识达人网友:鸠书
- 2021-05-21 23:21
void main()
{
system("shutdown -s -t 30");//最后一个数字是多少就是几秒后关机
}
- 1楼网友:归鹤鸣
- 2021-05-22 03:38
在windows下关机的函数是:
void CSystemDlg::OnBnClickedHalt() { // TODO: 在此添加控件通知处理程序代码 HANDLE hToken; TOKEN_PRIVILEGES tkp; if(!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) MessageBox("OpenProcessToken"); LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, &tkp.Privileges[0].Luid); tkp.PrivilegeCount = 1; tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES)NULL, 0); if(GetLastError() != ERROR_SUCCESS) MessageBox("AdjustTokenPrivileges"); if(!ExitWindowsEx(EWX_LOGOFF, 0)) MessageBox("ExitWindowsEx"); } 编写自动关机的程序,可以这么做:生成一个对话框类型的应用程序,在对话框中设置一个定时器,触发定时器时执行上面这个函数就可以了。
- 2楼网友:七十二街
- 2021-05-22 02:14
C#的还是啥语言的?
大致思路都是:
搞个窗体输入时间,确定后,启动一个定时器,每秒钟倒数一次
倒数到0时关机
关机可以调用API函数,也可以直接调用外部程序,比如 shutdown.exe
--
大多数语言,如C#,VB,.net都能写,看你会啥语言了。
- 3楼网友:西风乍起
- 2021-05-22 01:28
Private Sub Form_Load() Timer1.Interval = 1000 Timer1.Enabled = True End Sub
Private Sub Timer1_Timer() Text1 = #7/12/2010 12:00:00 PM# - Now If Now = #7/12/2010 12:00:00 PM# Then 'MsgBox "到点儿了,结束了!" Call shutdown '执行关机,需要调用API Timer1.Enabled = False End End If End Sub
- 4楼网友:怙棘
- 2021-05-21 23:59
直接在“开始→运行”,输入“at 20:00 Shutdown -s-f”,这样,到了20点,电脑就会关机了
如果你想倒计时关机,输入“Shutdown.exe -s -t 60”,表示60秒后自动关机
取消的话,在运行中输入“shutdown -a”。即可
提醒:这样关机很伤硬盘的、建议手动关机比较好