QT里实现Windows电脑三种关机方法

9 篇文章 3 订阅

第一次使用

第一次写,还不知道怎么写,不太会,请原谅啊。
今天写了一个在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.

如有侵权的还请原谅我这个小白,联系我我马上删除。

  • 11
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值