• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

实用小程序——C# 关闭显示器

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

平时工作时,有时候需要用纸笔来验算,或者看书什么的,这时候开着显示器,QQ一闪一闪的,总是分心。

于是我会关闭显示器,按下电源按钮,可我有2个显示器,每次都要关闭2个,比较麻烦,于是我就查找API,希望能一键关闭所有显示器。

原理很简单,就是掉一些Windows api而已,不过并不是没有技术难度的就没有意义,我这样一键关闭显示器,提高了我的效率,而且也省电,省事,很方便。

我这人不喜欢研究很高深的技术,我喜欢简单实用的,以下代码你搞个Console Application就OK了。

class Program
{
private const uint WM_SYSCOMMAND = 0x112; //系统消息
private const int SC_MONITORPOWER = 0xF170; //关闭显示器的系统命令
private const int MonitorPowerOff = 2; //2为PowerOff, 1为省电状态,-1为开机
private static readonly IntPtr HWND_BROADCAST = new IntPtr(0xffff);//广播消息,所有顶级窗体都会接收

[DllImport(
"user32.dll")]
private static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, int wParam, int lParam);

static void Main(string[] args)
{
SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, MonitorPowerOff);
}
}

WM_SYSCOMMAND 参数:http://msdn.microsoft.com/en-us/library/ms646360(VS.85).aspx

SC_MONITORPOWER 参数:http://www.pinvoke.net/default.aspx/Enums/WindowsMessages.html

SendMessage : http://www.pinvoke.net/default.aspx/user32/SendMessage.html

Console Application运行起来那个嘿嘿的窗体很讨厌,只需要在属性里面,改成Windows应用程序就不会有窗体出现了。

编译以后,放个快捷方式到桌面,在属性里面搞个快捷键比如F9,一下子就可以一键关闭所有显示器了。

自己写程序为自己服务,虽然没啥技术含量,不过感觉很棒,以后得多为自己写一些小程序了。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap