您的位置:首页 > 编程语言 > Qt开发

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

2020-02-16 19:44 741 查看

QT里实现Windows电脑三种方法

第一次使用

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

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

  • 点赞
  • 收藏
  • 分享
  • 文章举报
123无敌,就你了 发布了1 篇原创文章 · 获赞 0 · 访问量 9 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐