17行代码让显示器“坏掉”

在早期一些品质不好的液晶显示屏经常会出现“坏点”,一个显示屏有1,2个坏点都是可以合格的。显示器出了问题还会出现竖线,如下图:

       在回忆往事的时候,我想起了显示器损坏的糟心事, 于是就有这个这篇文章,注意:本程序仅仅是用来搞怪的,不可用于恶意的目的。

       这段代码仅限于windows平台,其他平台也可以使用类似的思路编写。

多的就不说了,直接上代码:

#include <windows.h>
int main()
{
	HWND hDesktopWnd;
	RECT rc;
	BOOL bSuccess; 
	hDesktopWnd = GetDesktopWindow();					// 取得桌面(屏幕)窗口句柄
	bSuccess = GetWindowRect(hDesktopWnd, &rc);			// 取得窗口的矩形信息,位置,长宽
	HDC hDc = GetDC(hDesktopWnd);						// 取得窗口的设备上下文,窗口的绘制,都要在设备上下文中进行 
	while (true)										// 循环绘制永不结束,就先这么简单粗暴的来。
	{
		SetPixel(hDc, 600, 200, RGB(255, 0, 0));		// 在坐标 600,200的位置画一个一像素的红点
		for (int iy = rc.top; iy < rc.bottom; iy++)		// 在横坐标为200的地方,画一调红色的竖线
			SetPixel(hDc, 200, iy, RGB(255, 0, 0));
	}
	return 0;
}

效果如下:

锁屏后也是有效果的:

当然,很可惜,开机进系统前不行。还有就是,真正坏了的显示器,用截屏软件,截图是正常图片,但是这个程序模拟出来的效果,连截图也是坏的。这两点,可以区分显示器是真坏了,还是有人用类似的代码搞恶作剧。

熟悉windows编程的人一看,就明白了,上面的代码原理非常简单,线程优化,效果都有很大的改进空间,我这里追求的是“最简”,主要是想让不会编程的人,一下就能看到一个和“Hello world”程序不太一样的入门程序效果,仅此而已。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值