自己调用API重启,会弹框若用户不按下,那么就会一直停在这。但是想要的结果是,提醒用户要重启了,用户的操作不会影响重启操作的执行,在指定时间后电脑进行重新启动。
#include<iostream>
#include <windows.h>
#pragma comment(linker, "/subsystem:windows /entry:mainCRTStartup") //不显示cmd窗口
using namespace std;
#include <windows.h>
#pragma comment(linker, "/subsystem:windows /entry:mainCRTStartup") //不显示cmd窗口
using namespace std;
int main()
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_HIDE;
ZeroMemory(&pi, sizeof(pi));
si.cb = sizeof(si);
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_HIDE;
ZeroMemory(&pi, sizeof(pi));
TCHAR CmdLine[]= "cmd.exe /c shutdown -r -t 10"; //10s后重启
if (!CreateProcess(NULL, CmdLine, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
return 1;
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
// MessageBox(NULL, TEXT("1"), TEXT("test"), MB_YESNO);
return 0;
}
if (!CreateProcess(NULL, CmdLine, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
return 1;
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
// MessageBox(NULL, TEXT("1"), TEXT("test"), MB_YESNO);
return 0;
}