第一次使用
第一次写,还不知道怎么写,不太会,请原谅啊。
今天写了一个在QT里面关闭和重启windows电脑的操作,就找了一下,做出来后把注销也试了一下,还挺好的,网上找了很多,代码复制过来用不了报错,也可能是我解锁方式不对人的问题。基本都是一点点,写出来方便以后查看,也希望能帮到其他人。
这几种方法都需要加一个头文件,必须加的:
#include <Windows.h>
第一种关机方法
加入头文件
#include <QProcess>
QString program = "C:/WINDOWS/system32/shutdown.exe";
QStringList arguments;
arguments << "-s";
QProcess *myProcess = new QProcess();
myProcess->start(program, arguments);
第二种关机方法
这个我的用不了,找的别人的,你们可以试试,跟windows官方提供的API代码一样,函数
bool MainWindow::on_pushButton_clicked()
{
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
//获取进程标志
if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
return false;
//获取关机特权的LUID
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) return false;
// 强制关闭计算机
if ( !ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE, 0))
return false;
return true;
}
第三种关机方法
加头文件`:就一句话
#include <Windows.h>
system("shutdown -s -t 00");
Windows,关机,重启,注销,命令
使用函数system();
关机指令。(shutdown -s -t xx
)
重启指令。(shutdown -r -t xx
)
注销指令。(shutdown -l -t xx
)
标准格式。(shutdown -s -t xx
)
t xx是关机延时时间 /秒;xx可以是00,直接关机。
可能输入00后,windows提示n分钟后关机,但关机时间实际是设定的时间。
`
这就完了,也算是学到新知识
插入链接与图片
参考链接: link.
如有侵权的还请原谅我这个小白,联系我我马上删除。