天下网吧 >> 网吧天地 >> 天下码农 >> 桌面开发 >> C# >> 正文

边玩边学C#,调节显示器亮度源码,1分钟写一个小工具来调节网吧144Hz,244HZ电竞屏亮度

上一篇:

C#边学边玩之修复网吧火箭下载器源码,C#操作系统服务、运行外部程序源码参考

新篇前言:

上一篇讲的是使用C#停止/启动系统服务。源码里面有相关写好的函数,大家可以拿去直接开发其他相关功能,比如,隔一段时间自动重启下某个容易出错的服务。今天咱们来写一个比较实用的小工具——调节显示器的亮度小工具。

目前网上很多同类工具了,网吧系统游戏菜单一般也自带同类工具,但是自己写,知道原理,无后门、无增值、无广告这样的三无绿色工具,那只有高端网维才能体会到的酸爽。而且本工具支持微调,从0-255之间的亮度值都能设置,对于吹毛求疵的网咖顾客来讲,这个很适合他们。

运行效果:

实际测试效果很明显,显示器刷的一下变亮了,再刷一下变暗了。

核心代码:

public static unsafe bool SetBrightness(int brightness)
{
		InitializeClass();
		if (brightness > 255)
				brightness = 255;
		if (brightness < 0)
				brightness = 0;
		short* gArray = stackalloc short[3 * 256];
		short* idx = gArray;
		for (int j = 0; j < 3; j++)
		{
				for (int i = 0; i < 256; i++)
				{
						int arrayVal = i * (brightness + 128);
						if (arrayVal > 65535)
								arrayVal = 65535;
						*idx = (short)arrayVal;
						idx++;
				}
		}
		bool retVal = SetDeviceGammaRamp(hdc, gArray);
		return retVal;
}

代码分析:

程序初始化时获取系统的HDC句柄,然后调用SetDeviceGammaRam来实现屏幕亮度的调节。SetDeviceGammaRam本身是支持从0-65535之间的值级别的微调。SetDeviceGammaRam这个函数是系统级别的gdi32.dll提供的一个调节显示器亮度的接口。代码里直接引用这个dll后就可以使用!

总结:

C#操作系统非常方便的,因为系统是微软的,C#开发语言也是微软的,所以很方便的。而且C#资料比较多,官网的知识库、文档非常充沛,只要你用心,学起来还是挺轻松的。

完整源码下载:

C#调节显示器亮度源码,网吧显示器亮度调节工具

本文来源:天下网吧 作者:天下码农

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系Email:support@txwb.com,系统开号,技术支持,服务联系QQ:1175525021本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下
  • 本周热门
  • 本月热门
  • 阅读排行