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") 清屏,以实现不断刷新输出的效果。

 

  • 48
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 45
    评论
### 回答1: RTSP(Real-Time Streaming Protocol)是一种用于音视频流传输的协议,它通常是通过TCP或UDP进行流媒体传输的。而C/C++是一种底层编程语言,它可以更加高效地操作计算机资源和网络连接。 要实现一个RTSP服务器代码,首先需要考虑如何与客户端进行连接,一般采用Socket编程实现。然后需要定义RTSP协议的请求和响应消息格式,这样客户端和服务器之间就能够相互通信。接下来,需要对于RTSP的方法进行开发,包括DESCRIBE, SETUP, PLAY, PAUSE等,以便对于RTSP协议进行支持。在处理完客户端请求后,需要向客户端发送响应消息。最终实现的RTSP服务器代码需要进行测试,以确保服务器能够正常连接和接收来自客户端的请求,同时能够处理请求并向客户端发送正确的响应消息。 在C/C++开发的RTSP服务器通常会比其他高级语言下的服务器更加高效,因为C/C++能够更加精确地控制计算机资源。然而,开发C/C++下的RTSP服务器需要一定的专业技术和经验。 ### 回答2: RTSP(Real Time Streaming Protocol)是可以在网络上传输和控制多媒体数据的协议,常用于流媒体传输中。C/C++是为了开发底层系统软件或高性能的应用程序而使用的一种编程语言,具有高效、可移植性强等优点。因此,使用C/C++编写RTSP服务器代码是比较常见的。 实现RTSP服务器的代码涉及到以下几个方面: 1. 搭建网络服务 要实现RTSP服务器,需要先搭建起一个基于网络的服务。使用C++,可以使用Winsock等库来实现网络编程,这样可以创建套接字并设置相关参数。然后可以使用bind,listen函数来监听指定的IP地址和端口号,当客户端请求连接时,使用accept函数来接收。在建立连接之后,在服务器端和客户端之间可以进行数据通信。 2. 实现RTSP协议 在客户端和服务器之间的数据通信中,需要使用RTSP协议来完成控制和传输。RTSP协议使用类似HTTP的方式来交换命令与数据,通过预定义的请求方法和响应码来完成数据交互。因此,在C/C++中实现RTSP协议,需要对协议中各种请求方法、请求头、响应码等进行处理。 3. 控制媒体数据的传输 在实现RTSP服务器时,需要考虑如何控制媒体数据的传输。一般来说,会使用FFmpeg等流媒体库来对媒体数据进行编解码和处理。在编码和处理完成后,需要将其推送到RTSP流中。此时需要设置Payload Type等参数,以便客户端接收并播放。 4. 实现客户端控制命令 在RTSP服务器代码实现中,还需要考虑如何实现客户端控制命令,例如PLAY和PAUSE等命令。只有在客户端发送相应的命令后,才能对媒体数据进行播放控制。因此,在服务端代码中需要处理这些命令,并使用相应的方式来控制媒体数据的播放。 总之,实现RTSP服务器代码需要综合考虑以上各个方面,涉及到底层网络编程、控制协议的实现以及媒体数据的处理等,同时还需要保证代码的稳定性和性能。 ### 回答3: C/C++的RTSP服务器实现可以使用第三方库如Live555来实现。Live555是一个开源的多媒体实时流处理库,它可以用来实现RTSP服务器和客户端。 首先,需要安装Live555库,并将其包含到自己的工程中。接着就可以开始实现RTSP服务器的代码。 实现步骤如下: 1. 创建一个RTSP服务器对象 使用Live555提供的RTSPServer类,创建一个RTSP服务器对象。在创建对象时,需要指定服务器监听的IP地址和端口号。 RTSPServer* rtspServer = RTSPServer::createNew(env, ipAddress, port); 2. 注册RTSP服务器的处理函数 使用RTSPServer对象提供的addServerMediaSession()方法,向RTSP服务器注册处理函数。ServerMediaSession类定义了单个媒体会话(single media session),如何将该会话呈现给客户端。可以使用addSubsession()方法向媒体会话注册多个媒体子会话。每个子会话呈现一个特定的流(如视频、音频或字幕)。 RTSPServer::ServerMediaSession* sms = RTSPServer::createNewServerMediaSession("sessionName", "streamName", "description"); rtspServer->addServerMediaSession(sms); 3. 创建媒体子会话对象 使用ServerMediaSubsession类创建一个媒体子会话对象。可以选择使用各种内置子会话类型(如H264VideoFileServerMediaSubsession),也可以创建自定义类型的对象。 ServerMediaSubsession* subsession = H264VideoFileServerMediaSubsession::createNew(env, fileName, reuseFirstSource); sms->addSubsession(subsession); 4. 启动服务器 使用RTSPServer的startStreaming()方法,启动RTSP服务器。在启动成功后,RTSP服务器将开始监听客户端请求。 rtspServer->startStreaming(); 以上就是一个简单的RTSP服务器代码实现过程。需要注意的是,在实现过程中,需要根据具体需求选择合适的媒体子会话类型,并且实现对客户端请求的处理函数。
评论 45
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值