趁室友洗澡的时候华丽的给他戒网瘾(教不会打我)

目录

前言

一、​整体思路

二、​实现关机

命令行

库函数system()

三、代码实现

一点小设置

“我是猪”代码实现。

strcmp函数

四、将.exe文件取出来

五、准备一个ico图片

六、将.exe包装成英雄联盟

晚安



 


前言

这阵子非常滴忙呀,没怎么在课下敲代码,罪恶感拉满‍♂️我是罪人​不过这两天野接触到一个蛮开阔眼界的小程序,将其“稍微”更改一下就变成整蛊程序。,非常非常非常适合坑室友(促进感情​),上手度非常的低,今天无偿教给大家。下面是实机演示效果​。

 

 

一、​整体思路

 

 

        1.将电脑设置为60s自动关闭。

        2. 如果输入字符串“我是猪”停止关机这一操作(当然,输入什么样的字符串还是取决于与室友之间的感情‍❤️‍‍)。

 

        3.把C语言程序需要的文件导出。

        4.给它换皮,更改名称和应用图标。

        5.发给室友,让室友为你鼓掌

在接下来的文章中我会一步步仔仔细细滴讲解,不过小伙伴偷懒的话也可以私聊我,我直接把文件发给你​,一条龙服务。

 

最后保证大家能将小程序发送给室友,进一步增强与室友的线下沟通。

那么开始吧。

 

 

 

二、​实现关机

 

 事实上,说成关机不是很准确,关机大家都会。

趁室友洗澡的时候华丽的给他戒网瘾(教不会打我)_第1张图片

 

我们的目的其实是将室友的电脑在神不知鬼不觉的情况下关机​。

 

命令行

 

 

在这里我们可以通过Windows系统的命令行操作来进行关机,按住Windows+r然后输入cmd,点击确认。

趁室友洗澡的时候华丽的给他戒网瘾(教不会打我)_第2张图片

 

 

就会弹出来下面这个窗口。

趁室友洗澡的时候华丽的给他戒网瘾(教不会打我)_第3张图片

 

 这就是命令行窗口,然后我们输入

shutdown -s

电脑就会开始关机,进行注销。这里双非程序猿觉得这样对室友太残忍了,加了一个延时关机的指令"-t"。

shutdown -s -t 60

后面的数字60就是延时60s后关机,给室友一个手足无措的时间​咩哈哈哈。输入的效果就是下面这样的:

趁室友洗澡的时候华丽的给他戒网瘾(教不会打我)_第4张图片 ​

 

 哦吼吼,有点样子了吧。这里双非程序猿就差点就吧电脑关机了,吓死​,不要慌,在下一行输入:

shutdown -a

 就可以停止电脑注销。

趁室友洗澡的时候华丽的给他戒网瘾(教不会打我)_第5张图片

 在这里已经停止了。

咱总不可能让室友自己输入这串指令吧​,双非程序猿试过,真挺难的​。我们可以用C语言中的库函数system()帮助我们实现神不知鬼不觉的关机。

 

 

 

库函数system()

C语言程序自带库函数中有这么一个函数,可以将字符串直接传送给系统,这实质上就和上面的命令行窗口做的是一样的事。

 这里我们需要先了解一下system函数。我推荐使用下面这个网站进行学习。

http://cplusplus.com/

 

打开之后会是下面这样的界面

趁室友洗澡的时候华丽的给他戒网瘾(教不会打我)_第6张图片​​

 

 这是一个全英文的界面,这里双非程序猿不推荐使用插件整页翻译,因为这样作可能会把“int void”​等翻译掉,反而影响我们的查阅。其他的看不懂还是可以结合百度翻译来看滴,这样慢慢的我们也能直接看到英文文献了(这个能力对程序猿还是非常重要滴)加油叭​。

 在上面的search可以搜索system函数

f39dc5f11c6e4fc0a5051a7149d7ee4f.png​​

 

 我们可以看到如下图,这是对函数的讨论以及例子。

趁室友洗澡的时候华丽的给他戒网瘾(教不会打我)_第7张图片​​

 7eae744f49404018997529cd14f2c84e.png

 

这个函数确实是要输入一个字符串,并且它还会返回一个整数。下面那一段双非程序猿英语不行买看懂​,只好借助百度君的帮助了(希望大家英语能比我更厉害一大截*^_^*)。

 

趁室友洗澡的时候华丽的给他戒网瘾(教不会打我)_第8张图片​​

 

 嗯​​,虽然语句不是很通顺,不过起码看出来system确实可以通过字符串执行系统命令。

那么system这个函数基本掌握了。咱们不能忘记初心​,将它与命令行结合就可以将室友的电脑关机了,哈哈哈​​。

 

 

三、代码实现

一点小设置

 

在开始敲代码前,需要进行一些小小的设置

趁室友洗澡的时候华丽的给他戒网瘾(教不会打我)_第9张图片

 将这个Debug改成如下图的Release。

趁室友洗澡的时候华丽的给他戒网瘾(教不会打我)_第10张图片

 这是为了待会可以将.exe文件从Release文件中提取出来。

“我是猪”代码实现。

#include
#include
int main()
{
	char s[20] = { 0 };
	printf("请输入\"我是猪\",否则你的电脑将在一分钟内关机咩哈哈哈哈\n");
	system("shutdown -s -t 60");//进行关机指令
	while (1)//进行死循环,直到输入正确或者关机才会结束
	{
		scanf("%s", s);
		if (strcmp(s, "我是猪") == 0)//正是这一个函数用到了string.h这一个头文件
		{
			system("shutdown -a");//停止关机指令
			break;
		}
	}
	return 0;
}

值得一提的是,我在写这个代码的时候,忘记写scanf()这一个命令了,你们可以想象一下,这样会有什么样的结果。我当时相当绝望,匆忙给博客保存,但是图片没成功保存。你们看到的图都是我重新截的。

回到正题,strcmp这个函数还是要讲一下的。

strcmp函数

在这个程序里,我们需要将时s[]字符串与“我是猪”这两个字符串进行比较。

if(s[]=="我是猪")

要注意的是,这样的写比较其实是错误的。两个字符串的比较一般都要用到strcmp函数。

接下来我们认识一下这个函数。

趁室友洗澡的时候华丽的给他戒网瘾(教不会打我)_第11张图片

 从http://cplusplus.com/​​​​​​

​得出:strcmp的使用需要传入两个字符串,并且它会返回一个整数,他会对传进去的字符串进行比较。

趁室友洗澡的时候华丽的给他戒网瘾(教不会打我)_第12张图片

从上图表格中又可得知,返回的整数=两个字符串第一个不匹配的字母之间的差值(str1-str2)

因此当返回值等于0的时候,这两个字符串相等。代码实现如下。

if(strcmp(s,"我是猪")==0)

还是不要忘记我们的初衷哦✌,接下来就是一系列的包装了。

四、将.exe文件取出来

打开文件所在位置,找到Release文件

趁室友洗澡的时候华丽的给他戒网瘾(教不会打我)_第13张图片

 打开找到.exe文件,这就是我们要用的文件,点开就直接会运行上面的代码。

 

 

 这时候我们可以在室友洗澡的时候吧这个.exe文件,和一个.ico格式的图片(用来当做快捷方式的图标)发送给室友。

五、准备一个ico图片

先在百度图库里找到一个图片(作为应用图标)并下载

 然后在这里推荐一个免费网站http://www.ico51.cn/,可以把你的jpg等等格式的图片转换成ico格式的图片(应用图标需要这个格式)

选择文件然后再生成即可。

六、将.exe包装成英雄联盟

在桌面创建一个快捷方式

趁室友洗澡的时候华丽的给他戒网瘾(教不会打我)_第14张图片

 然后浏览到.exe文件的位置,这样一个快捷方式就建立好了

趁室友洗澡的时候华丽的给他戒网瘾(教不会打我)_第15张图片

 然后右键点击属性

趁室友洗澡的时候华丽的给他戒网瘾(教不会打我)_第16张图片

 

点击下方更改图标

趁室友洗澡的时候华丽的给他戒网瘾(教不会打我)_第17张图片

然后点击上方的浏览,浏览到你的ico图片就可以更换了。

趁室友洗澡的时候华丽的给他戒网瘾(教不会打我)_第18张图片

 成功!

最后在你室友回来之前逃离即可。

晚安

现在是凌晨0点过十八分钟,呜呜,比说好的日更还是超过了十八分钟。家人们要好好睡觉哦,晚安。

趁室友洗澡的时候华丽的给他戒网瘾(教不会打我)_第19张图片

 

音柱好帅,但我对蝴蝶忍一心一意!

趁室友洗澡的时候华丽的给他戒网瘾(教不会打我)_第20张图片

 

 

 

你可能感兴趣的:(好玩的小程序,c语言)