C语言重启程序,解释下代码

C语言重启程序,解释下代码,第1张

system("shutdown

-r")就是重启命令

#include<window.h>

int

main

(){

system("shutdown

-r")

return

0

}

1、system函数:

原型:int

system(const

char

*

command);

功和中能:执行

dos(windows系统)

shell(Linux/Unix系统)

命令,参数字乎唤符串command为命令名

说明:在windows系统中,system函数直接在控制台调用一个command命令。在Linux/Unix系统中,system函数会调用fork函唤顷山数产生子进程,由子进程来执行command命令,命令执行完后随即返回原调用的进程;

头文件:stdlib.h;

返回值:命令执行成功返回0,执行失败返回-1。

2、例程:

#include<stdio.h>

#include<stdlib.h>

int main(){

system("del C:\\123.txt")//在控制台中,执行命令del C:\\123.txt,删除C盘目录下的123.txt文件

return 0

}

这是windows重启的代码

#include <windows.h>

BOOL MySystemShutdown()

{

HANDLE hToken

TOKEN_PRIVILEGES tkp

// 得模尘到进程的token

if (!OpenProcessToken(GetCurrentProcess(),

TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))

return( FALSE )

// 为了关机权限,得到LUID

LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,

&tkp.Privileges[0].Luid)

tkp.PrivilegeCount = 1 // one privilege to set

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_REBOOT

| EWX_FORCE,

SHTDN_REASON_MAJOR_OPERATINGSYSTEM |

SHTDN_REASON_MINOR_UPGRADE |

SHTDN_REASON_FLAG_PLANNED))

return FALSE

return TRUE

}

void main()

{

MySystemShutdown()

}


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存