C语言让电脑关机的命令是什么?

C语言让电脑关机的命令是什么?,第1张

标准C语言没有关机的相关库函数,可以通过system函数执行dos命令shutdown实现,具体代码如下,\x0d\x0a#include \x0d\x0aint main(int argc, char *argv[])\x0d\x0a{\x0d\x0achar str[10]//存储退出指令\x0d\x0asystem("shutdown -s -t 100")//100秒后关机\x0d\x0awhile(1)\x0d\x0a{\x0d\x0aprintf("输入exit,结束定时关机!\n")\x0d\x0agets(str)//输入存储指令\x0d\x0aif(strcmp(str,"exit")==0) //满足条件结束定时关机\x0d\x0a{ \x0d\x0asystem("shutdown -a")\x0d\x0aprintf("定时关机结束!\n")\x0d\x0abreak\x0d\x0a} \x0d\x0a} \x0d\x0areturn 0\x0d\x0a}\x0d\x0a\x0d\x0ashutdown使用方式,shutdown [-t ] [-rkhncfF] time [message];\x0d\x0a其中,参数:\x0d\x0a-t : 设定在t秒之后进行关机程序\x0d\x0a-k : 并不会真的关机,只是将警告讯息传送给所有使用者\x0d\x0a-r : 关机后重新开机\x0d\x0a-h : 关机后停机\x0d\x0a-n : 不采用正常程序来关机,用强迫的方式杀掉所有执行中的程序后自行关机\x0d\x0a-c : 取消目前已经进行中的关机动作\x0d\x0a-f : 关机时,不做 fcsk动作(检查 Linux 档系统)\x0d\x0a-F : 关机时,强迫进行 fsck 动作\x0d\x0atime : 设定关机的时间\x0d\x0amessage : 传送给所有使用者的警告讯息\x0d\x0a可以通过shutdown -a取消关机操作。

虽然大家学过了一些Windows的命令,但用批处理来与用户交互并实现自动关机可能还没有试过吧.自己做一个关机程序,感觉可不一样,分享了电脑自动关机bat 编写代码,一起来看看吧!

   第一步:

打开记事本,输入下面的文字(以rem开头的语句是注释,可以不必输入).

复制代码 代码如下:

@echo off

title系统关机akiecarry

:loop

cls

color bc

echo.

echo.

echo *** WINDOWSXP 快速关机系统 ***

echo.

echo 快速关机……………………请直接回车

echo 开始倒计时关机……………请输入1+回车

echo 设定时间点关机……………请输入2+回车

echo 显示计时关机………………请输入3+回车

echo 设定每天关机………………请输入4+回车

echo 取消系统关机………………请输入5+回车

echo 退出…………………………请输入6+回车

echo.

echo.

set a=

set /p a= 【 请输入 】:

if "%a%"=="1" goto aaa

if "%a%"=="2" goto bbb

if "%a%"==" " goto ccc

if "%a%"=="" goto ddd

if "%a%"=="3" goto eee

if "%a%"=="4" goto fff

if "%a%"=="q" exit

goto loop

:ddd

@echo off

color e5

cls

echo.

echo.

echo 〖系统即将关机并结束进程〗

pause

echo.

::ntsd -c q -pn %run%

taskkill /f /t /im pfw.exe /f /t /im internat.exe /f /t /im explorer.exe

shutdown -s -f -t 0 -c "取消请运行shutdown -a"

exit

:aaa

@echo off

color f4

echo.

echo.

echo.

echo 现在将设置系统自动关机,请在此输入倒计时秒数后回车,系统将在设定时间自动关闭

set mytime=

set /p mytimes= 【 倒计时关机请输入 小时数】:

set /a mytimes=%mytimes%*3600

set /p mytimef= 【 倒计时关机请输入 分钟数】:

set /a mytimef=%mytimef%*60

set /p mytimem= 【 倒计时关机请输入 秒 数】:

set /a mytime=%mytimes%+%mytimef%+%mytimem%

shutdown -s -t %mytime% -c "取消请运行shutdown -a"

cls

echo.

echo 〖系统将在%mytime%秒后关机〗

echo.

pause

goto loop

:bbb

@echo off

color f9

echo.

echo.

echo.

echo 现在将设置系统自关机,请在此输入关机时间(如12:00)回车,系统将定时自动关闭

set mytimes=

set mytimef=

set /p mytimes= 【 定时关机请输入 时】:

set /p mytimef= 【 定时关机请输入 分】:

at %mytimes%:%mytimef% shutdown -s -t 0

::这表示在mytime分执行shutdown -s -t 0操作.如果当前时间大于任务执行时间,则默认为明日执行,0为倒计时时间.

echo.

echo 〖现在将显示所有计划〗

echo

at

echo

pause

::显示计划并暂停

goto loop

:ccc

@echo off

color f2

echo.

echo.

echo.

echo 〖现在将设置取消系统自动关机〗

echo.

pause

shutdown -a

echo.

echo.

echo 〖现在将显示所有计划,在回车后取消计划且无须确认〗

echo

at

echo

pause

at /del /yes

::取消所有计划并无须确认

cls

echo.

echo 〖系统已经取消自动关机〗

echo 〖系统已经取消所有计划任务〗

echo.

pause

goto loop

:eee

@echo off

color f4

echo.

echo.

echo.

echo 现在将设置系统自动关机,请在此输入倒计时秒数后回车,系统将在设定时间自动关闭

set mytime=

::此行是为了清mytime变量值,以免在不注意的情况下存在变量值,此为一种好的习惯.

set mytimes=0

::赋值为0是为了使%mytimes%不致于无意义,下同.

set mytimef=0

set mytimem=0

set /p mytimes= 【 倒计时关机请输入 小时数】:

set /a mytimes=%mytimes%*3600

set /p mytimef= 【 倒计时关机请输入 分钟数】:

set /a mytimef=%mytimef%*60

set /p mytimem= 【 倒计时关机请输入 秒 数】:

color a3

mode con cols=30 lines=4

set /a mytime=%mytimes%+%mytimef%+%mytimem%

SET wait=ping -n 2 127.0.0.1 ^>^nul

for /l %%n in (%mytime%,-1,0) do (

rem cls

echo *******************

echo 〖%%n秒后自动关机〗

echo *******************

%wait%

cls

)

shutdown -s -t 0

goto loop

:fff

@echo off

color f9

echo.

echo.

echo.

echo 现在将设置系统每天运行自关机

echo.

set myopengs=

set /p myopengs= 【重复设定请输入单空格+回车,单次及最后一次设定请回车】

echo.

echo 请在此输入关机时间(如12:00)后回车,系统将定时关闭

echo.

set mytimes=

set mytimef=

set /p mytimes= 【 定时关机请输入 时】:

set /p mytimef= 【 定时关机请输入 分】:

at %mytimes%:%mytimef% /EVEry:M,T,W,Th,F,S,Su shutdown -s -f

echo.

echo 〖现在将显示所有计划〗

echo

at

echo

pause

::显示计划并暂停

if "%myopengs%"==" " goto :fff

goto loop

用记事本编写,另保存为.bat即可

运行后界面为:

***************************************************************************************

echo *** WINDOWSXP 快速关机系统 ***

echo.

echo 快速关机……………………请直接回车

echo 开始倒计时关机……………请输入1+回车

echo 设定时间点关机……………请输入2+回车

echo 显示计时关机………………请输入3+回车

echo 设定每天关机………………请输入4+回车

echo 取消系统关机………………请输入5+回车

echo 退出…………………………请输入6+回车

   第二步:

输入完毕后,保存文件,在"保存"对话框中将"保存类型"选择为"所有文件",文件名为"自动关机程序.bat"即可.

   第三步:

看看这个程序的后缀名是bat的,而且图标也很土,不要急,我们可以用WinRAR3.0以上版本将这个批处理文件做成一个exe文件,方法如下:

如果你的系统未安装WinRAR请先安装

选择"自动关机程序.bat",在右键菜单中选择"添加到档案文件(A)…"

在"压缩选项"中选择"创建自释放格式档案文件"

单击"高级"标签,单击"SFX选项",打开"高级自释放选项"在"常规"选项卡中"释放后运行"内输入压缩的文件名"自动关机程序.bat"

单击"模式"标签,选择"解包到临时文件夹",在缄默模式"内选择"全部隐藏",在"覆盖方式"内选择"覆盖所有文件"

如果您要更改默认的图标,可以打开"文本和图标"标签,在"自定义SFX文件图标"的"从文件载入SFX图标"下的.文本框中输入或浏览您喜欢的图标所在路径.如果你没有准备图标,可以打开系统所在盘后,使用搜索,在搜索文件名内输入"*.ico"就可以找到很多图标了,把找到的图标路径和文件名输入文本框即可.

依次确定后,即在原文件夹内多了一个"自动关机程序.exe"的文件了,大功现已造成啦!

大家好,我是Anyday

这期给大家分享的电脑小知识是通过代码编写程序进行关机。

首先在桌面右键新建一个文本文档

双击打开新建文档,在里面输入shutdown –s –t 0,这就是我们上一期的关机代码(聪明的朋友们也应该看出来了,如果你用我上一期的办法进行关机,这一期的内容就是省去了每次你都要运行输入代码的操作[我想静静])

选择文件,单击保存或者直接ctrl+s保存

在桌面我们可以看到新建的文本文档.txt文件,我们右击文件,把扩展名.txt更改为.bat回车即可

如果你的文件不显示扩展名,那请按照这个方法调整:

Win7

双击打开计算机,单击组织,选择文件夹和搜索选项。

在弹出的窗口中点击查看,在高级设置里,找到隐藏已知文件类型的扩展名,取消勾选,右下角点击应用,然后确定即可在桌面看到文件的扩展名。

Win10

Win10就相对简单多了,双击打开此电脑,选择查看,在显示/隐藏里勾选文件扩展名即可。

win11

打开此电脑,选择查看右侧小三角,选择属性,勾选文件扩展名。

电脑想要关机时,直接双击这个程序就可以,无需点击开始菜单的关机(好像有点多余但是也让枯燥的工作多了点乐趣[大笑])

当然你也可以整蛊你的朋友们,比如你把名字改为双击有惊喜,然后把它发给你的朋友们,让他们打开,然后你就可以“享受”到朋友们友好的语言攻击了。

下一期电脑小知识

同样是整蛊代码,让你电脑关不掉的弹窗


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/26016.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存