C/C++蓝屏整人代码


文章目录

📒程序效果

📒具体步骤

1.隐藏任务栏

2.调整cmd窗口大小

3.调整cmd窗口屏幕颜色

4.完整代码

📒代码详解 


🚀欢迎互三👉:程序猿方梓燚 💎💎

🚀关注博主,后期持续更新系列文章

🚀如果有错误感谢请大家批评指出,及时修改

🚀感谢大家点赞👍收藏⭐评论✍  

 

📒程序效果

📒具体步骤

1.隐藏任务栏

在任务栏上右击,点击属性(R),弹出如图对话框,勾选选自动隐藏任务栏(u)

2.调整cmd窗口大小

按win+R,输入“cmd”按回车键,弹出一个黑色窗口,如图,点击属性,上方菜单选择布局,大家按自己电脑的尺寸调整,占满全屏即可,这我就不多说了。

3.调整cmd窗口屏幕颜色

窗口大小调整好之后,上方菜单选择颜色,字体颜色默认白色,应该无需改动,屏幕颜色选择蓝色。

4.完整代码
#include <windows.h>
#include <iostream>
#include <iomanip>
#include<stdio.h>
#include<stdlib.h>

// 全屏/隐藏标题栏
void full_screen() {
	HWND hwnd = GetForegroundWindow();

	int cx = GetSystemMetrics(SM_CXSCREEN);
	int cy = GetSystemMetrics(SM_CYSCREEN);

	LONG l_WinStyle = GetWindowLong(hwnd, GWL_STYLE);
	SetWindowLong(hwnd, GWL_STYLE, (l_WinStyle | WS_POPUP | WS_MAXIMIZE) & ~WS_CAPTION & ~WS_THICKFRAME & ~WS_BORDER);
	SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, cx, cy, SWP_FRAMECHANGED);
}

// 隐藏光标
void HideTheCursor() {
	CONSOLE_CURSOR_INFO cciCursor;

	HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);

	if (GetConsoleCursorInfo(hStdOut, &cciCursor)) {
		cciCursor.bVisible = FALSE;
		SetConsoleCursorInfo(hStdOut, &cciCursor);
		SetConsoleCursorInfo(hStdOut, &cciCursor);
	}
}

using namespace std;

int main() {

	full_screen();

	HideTheCursor();

	for (double i = 0; i <= 100; i += 0.01) {

		HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);

		cout << "A problem has been detected and Windows has been shut down to prevent damage to your computer.\n\n";
		cout << "*** STOP: 0x0000000A (0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF)\n\n";
		cout << "Error code 0x0000000A indicates an IRQL_NOT_LESS_OR_EQUAL error.\n";
		cout << "This typically occurs when a driver attempts to access a memory location at an incorrect IRQL level.\n";
		cout << "The IRQL (Interrupt Request Level) is a hardware-related priority level used by the CPU to handle interrupts.\n";
		cout << "When a driver operates at an IRQL that's too high for the memory access it's attempting,\n";
		cout << "it can cause this critical error and potentially crash the system.\n";
		cout << "If this is the first time you've seen this Stop error screen, restart your computer.\n";
		cout << "If this screen appears again, follow these steps:\n";
		cout << "Check to make sure any new hardware or software is properly installed.\n";
		cout << "If this is a new installation, ask your hardware or software manufacturer for any Windows updates you might need.\n";
		cout << "If problems continue, disable or remove any newly installed hardware or software. Disable BIOS memory options such as caching or \nshadowing.\n";
		cout << "If you need to use Safe Mode to remove or disable components, restart your computer, press F8 to select Advanced Startup Options, \nand then select Safe Mode.\n";
		cout << "Technical Information:\n";
		cout << "*** BEGINNING OF DUMP OF PHYSICAL MEMORY\n";
		cout << "*** MEMORY.DMP\n";
		cout << "*** END OF DUMP OF PHYSICAL MEMORY\n";

		// 增加一些延迟,使效果更明显
		Sleep(50);
		system("cls");

		/*
		while (i == 100) {
					system("shutdown -s -f -t 0");
				}
		
				cout << "Shutting down loading......" << fixed << setprecision(2) << i << "%" << endl;
		*///以上是蓝屏一段时间后自动关机代码,可以删掉

	}

	return 0;
}

📒代码详解 

  1. 包含的头文件:

    • <windows.h>:提供了与 Windows 操作系统相关的功能和接口。
    • <iostream>:用于输入输出操作。
    • <iomanip>:用于格式化输出。
    • <stdio.h> 和 <stdlib.h>:C 标准库的头文件,提供了一些基本的输入输出和通用功能。
  2. full_screen 函数:

    • 它获取当前前台窗口的句柄 hwnd
    • 通过 GetSystemMetrics 函数获取屏幕的宽度 cx 和高度 cy
    • 获取当前窗口的样式 l_WinStyle,然后修改样式,使其全屏、弹出式显示,去除标题栏、边框和框架。
    • 使用 SetWindowPos 函数将窗口设置为全屏并置顶。
  3. HideTheCursor 函数:

    • 定义了一个 CONSOLE_CURSOR_INFO 类型的变量 cciCursor
    • 获取标准输出句柄 hStdOut
    • 如果能够获取控制台光标的信息,将其可见性设置为 FALSE 以隐藏光标。
  4. main 函数:

    • 调用 full_screen 函数使窗口全屏。
    • 调用 HideTheCursor 函数隐藏光标。
    • 通过一个循环不断输出一系列模拟的 Windows 错误提示信息。
    • 在每次输出后使用 Sleep(50) 函数暂停 50 毫秒,然后使用 system("cls") 清屏,以实现不断刷新输出的效果。

 

相关推荐

  1. 阅读笔记——《代码整洁之道》ch2

    2024-07-19 18:04:03       28 阅读
  2. selenium截代码

    2024-07-19 18:04:03       29 阅读
  3. 微软事件

    2024-07-19 18:04:03       23 阅读
  4. CS255#1代码

    2024-07-19 18:04:03       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-19 18:04:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-19 18:04:03       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-19 18:04:03       58 阅读
  4. Python语言-面向对象

    2024-07-19 18:04:03       69 阅读

热门阅读

  1. udp和tcp区别

    2024-07-19 18:04:03       22 阅读
  2. Leetcode 383. 赎金信

    2024-07-19 18:04:03       20 阅读
  3. 接口加密方案

    2024-07-19 18:04:03       18 阅读
  4. ubuntu24.04 搭建TFTP服务

    2024-07-19 18:04:03       20 阅读
  5. 39、PHP 实现二叉树的下一个结点(含源码)

    2024-07-19 18:04:03       19 阅读
  6. box-shadow

    2024-07-19 18:04:03       16 阅读
  7. 【理解Python中的字典推导式】

    2024-07-19 18:04:03       18 阅读
  8. Qt 遍历Combbox下拉框的内容并进行判断

    2024-07-19 18:04:03       18 阅读
  9. 数据库存 IP 地址,用什么数据类型比较好?

    2024-07-19 18:04:03       16 阅读
  10. linux报错-bash: ./xx.sh: Permission denied

    2024-07-19 18:04:03       16 阅读
  11. 网络安全等级保护制度是如何分级的?

    2024-07-19 18:04:03       19 阅读