c++如何编写一个关机程序

c++如何编写一个关机程序,第1张

编写代码:

#include <iostream>

using namespace std

int main()

{

system("shutdown -s -f -t 0")

return 0

}

保存按Ctrl+F9,目录下就会出现一个.exe文件。

扩展资料:

还可以定时关机

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

int main()

{

char cmd[20]="shutdown -s -t "

char t[5]="0"

int c

system("title C语言关机程序")  //设置cmd窗口标题

system("mode con cols=48 lines=25")  //窗口宽度高度

system("color f0")  //可以写成 red 调出颜色组

system("date /T")

system("TIME /T")

printf("----------- C语言关机程序 -----------\n")

printf("1.实现10分钟内的定时关闭计算机\n")

printf("2.立即关闭计算机\n")

printf("3.注销计算机\n")

printf("0.退出系统\n")

printf("-------------------------------------\n")

scanf("%d",&c)

switch(c) {

case 1:

printf("您想在多少秒后自动关闭计算机?(0~600)\n")

scanf("%s",t)

system(strcat(cmd,t))

break

case 2:

system("shutdown -p")

break

case 3:

system("shutdown -l")

break

case 0:

break

default:

printf("Error!\n")

}

system("pause")

return 0

}

通过C语言实现关机,有两种方式:

1 通过system函数,调用dos的关机命令

通过stdlib.h中的

int system(char *cmd)

可以执行dos命令cmd。

dos下关机的命令为shutdown -s,于是嗲用

system("shutdown -s")

即可实现关机 *** 作。

2 通过调用windows提供的api函数,来实现关机:

void shut_down_windows()

{

HANDLE hToken

TOKEN_PRIVILEGES tkp

// Get a token for this process.

if (!OpenProcessToken(GetCurrentProcess(),

     TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))

   return( FALSE )

// Get the LUID for the shutdown privilege.

LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,

     &tkp.Privileges[0].Luid)

tkp.PrivilegeCount = 1  // one privilege to set   

tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED

// Get the shutdown privilege for this process.

AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,

     (PTOKEN_PRIVILEGES)NULL, 0)

if (GetLastError() != ERROR_SUCCESS)

   return FALSE

// Shut down the system and force all applications to close.

if (!ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE,

            SHTDN_REASON_MAJOR_OPERATINGSYSTEM |

            SHTDN_REASON_MINOR_UPGRADE |

            SHTDN_REASON_FLAG_PLANNED))

   return FALSE

return TRUE

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11505590.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存