使用C语言编写一个关机恶搞小程序

 更新时间:2024年02月01日 14:10:25   作者:Code Warrior  
system函数的参数是"shutdown"时,它将会执行系统的关机命令,所以本文将利用这一特点制作一个关机恶搞小程序,感兴趣的小伙伴可以跟随小编一起学习一下

1. system("shutdown")的介绍

当system函数的参数是"shutdown"时,它将会执行系统的关机命令。

具体来说,system("shutdown")的功能是向操作系统发送一个关机信号,请求关闭计算机。这将触发操作系统执行一系列的关机操作,包括关闭所有正在运行的程序、保存必要的系统信息、并最终关闭计算机的电源。

需要注意的是,执行system("shutdown")通常需要管理员权限,因为关机操作涉及到系统级别的资源管理。在不同的操作系统上,关机命令可能会有所不同,因此具体的实现细节可能会有所差异。

总结来说,system("shutdown")是一个用于触发计算机关机操作的命令,通过调用外部的关机命令来实现这一功能。

通过改变system("shutdown")中的参数则可以产生不同的关机信号,接下来我将详细讲解几个实用有趣关机命令。

2. 关机命令

2.1 强行关闭正在运行的应用

执行这个效果需要用到参数 /f

#include<stdlib.h>
#include<stdio.h>
int main()
{
    system("shutdown /f");
    return 0;
}

这个被代码执行后会直接关闭我们计算机所有正在运行的应用,并进入到锁屏界面。

2.2 重启并保留原来的程序

执行这个效果需要用到参数 /g

#include<stdlib.h>
#include<stdio.h>
int main()
{
    system("shutdown /g");
    return 0;
}

这个被代码执行后会直接重新启动计算机,重启完后将会打开执行这个代码前正在运行的应用。

2.3 关机并保留原来的程序

执行这个效果需要用到参数 /sg

#include<stdlib.h>
#include<stdio.h>
int main()
{
    system("shutdown /sg");
    return 0;
}

这个被代码执行后会在30s后关闭计算机,当我们再次重启计算机时它会将会打开执行这个代码前正在运行的应用。

2.4 关机并准备快速启动

执行这个效果需要用到参数 /hybrid和/s

#include<stdlib.h>
#include<stdio.h>
int main()
{
    system("shutdown /hybrid /s");
    return 0;
}

这个被代码执行后会关闭计算机,并在关机过程中将系统状态保存到硬盘上,以实现快速启动。

2.5 关机没有超时或警告

执行这个效果需要用到参数/p

#include<stdlib.h>
#include<stdio.h>
int main()
{
    system("shutdown /p");
    return 0;
}

这个被代码执行后就跟平常的关机一样。

2.6 关机有超时或警告

#include<stdlib.h>
#include<stdio.h>
int main()
{
    system("shutdown /s");
    return 0;
}

这个被代码执行后会提醒你多久后会关机,一般是默认30s后关机,要想修改这个时间关机,我们还可以在后面再加上参数/t xxx 将关闭前的超时时间设置为 xxx 秒。有效范围是 0-315360000 (10 年)。

2.7 终止关机

执行这个效果需要用到参数/a

#include<stdlib.h>
#include<stdio.h>
int main()
{
    system("shutdown /a");
    return 0;
}

这个被代码执行后会取消我们的关机或重启的命令,前提是这个关机或重启是有等待时间的。

2.8 立即关机

执行这个效果需要用到参数/f和/p

#include<stdlib.h>
#include<stdio.h>
int main()
{
    system("shutdown /f /s");
    return 0;
}

这个被代码执行后会立即关机正在运行的应用,然后关机,从而达到立即关机的目的。

2.9 注销

执行这个效果需要用到参数/l

#include<stdlib.h>
#include<stdio.h>
int main()
{
    system("shutdown /l");
    return 0;
}

这个被代码执行后会关闭应用,然后回到锁屏界面,这个与强行关闭正在运行的应用的区别是,这个是慢慢的关闭应用的,而强行关闭正在运行的应用是直接关闭应用的。

2.10 休眠

执行这个效果需要用到参数/h

#include<stdlib.h>
#include<stdio.h>
int main()
{
    system("shutdown /h");
    return 0;
}

这个被代码执行后会使计算机进入一个休眠的状态,这个与平常休眠不同的是,你动键盘和鼠标时,它不会关闭休眠状态,需要你按开启键才能关闭休眠状态。

2.11 注释重启或关闭的原因

执行这个效果需要用到参数/c "comment"(comment是你要输入的文字,最多允许输入512个字符)

#include<stdlib.h>
#include<stdio.h>
int main()
{
    system("shutdown /s /c "comment"");
    return 0;
}

3. 制作恶搞小程序

将上面的程序写好后我们可以找到程序的文件目录。将其发给你的好友,或者将其包装一下。

 改为release的环境

找到程序的所在文件位置:

 然后将其复制到桌面上来,直接发给好友。

或者将程序复制到桌面后右键点击它,然后点击创建快捷方式,然后右键点击我们创建的快捷方式,点开属性,点击快捷方式,点击更换图标,然后按照同样的方式点开其他软件的更换图标,复制如下图的东西,然后粘贴到我们的程序图标那里,点击确定就可以将我们程序的图标改为,我们复制的应用图标了。最后把名字改了,我们就制作好了一个谁也认不出来的恶搞软件了。

上面这两个都是我写的关机程序,一点开就会直接关机。 

以上就是使用C语言编写一个关机恶搞小程序的详细内容,更多关于C语言关机恶搞的资料请关注脚本之家其它相关文章!

相关文章

  • C语言实现洗牌发牌小程序

    C语言实现洗牌发牌小程序

    这篇文章主要介绍了C语言实现洗牌发牌小程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • Cocos2dx实现数字跳动效果

    Cocos2dx实现数字跳动效果

    这篇文章主要为大家详细介绍了Cocos2dx实现数字跳动效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • c语言循环加数组实现汉诺塔问题

    c语言循环加数组实现汉诺塔问题

    本文主要介绍了c语言循环加数组实现汉诺塔问题,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • C语言动态数组详解

    C语言动态数组详解

    本文给大家分享的是一则使用C语言实现动态数组的代码,完美解决内存溢出以及内存回收问题,有需要的小伙伴可以参考下
    2021-09-09
  • QT实现多线程两种方式案例详解

    QT实现多线程两种方式案例详解

    这篇文章主要介绍了QT实现多线程两种方式案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • C语言冒泡排序法的实现(升序排序法)

    C语言冒泡排序法的实现(升序排序法)

    这篇文章主要介绍了C语言冒泡排序法的实现(升序排序法),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • 非常漂亮的新年祝福!C语言实现漂亮的烟花效果

    非常漂亮的新年祝福!C语言实现漂亮的烟花效果

    非常漂亮的新年祝福!这篇文章主要介绍了C语言实现漂亮的烟花效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • 使用C语言实现本地socke通讯的方法

    使用C语言实现本地socke通讯的方法

    这篇文章主要介绍了 使用C语言实现本地socke通讯,代码分为服务器代码和客户端代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • C++利用opencv实现人脸检测

    C++利用opencv实现人脸检测

    这篇文章主要为大家详细介绍了C++利用opencv实现人脸检测,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • C++如何向Lambda传递参数与捕获

    C++如何向Lambda传递参数与捕获

    文章介绍了C++中向Lambda表达式传递参数和使用捕获列表的基本规则和示例,参数传递要求严格匹配类型和数量,而捕获列表允许Lambda访问外部变量,并可以按值或引用捕获,文章还讨论了捕获的陷阱和解决方案,以及参数传递与捕获列表的区别和应用场景,感兴趣的朋友一起看看吧
    2025-03-03

最新评论