欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#通過(guò)熱鍵控制顯示器開(kāi)關(guān)的方法

 更新時(shí)間:2014年12月26日 09:46:36   投稿:shichen2014  
這篇文章主要介紹了C#通過(guò)熱鍵控制顯示器開(kāi)關(guān)的方法,涉及C#針對(duì)熱鍵的操作技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了C#通過(guò)熱鍵控制顯示器開(kāi)關(guān)的方法。分享給大家供大家參考。

具體實(shí)現(xiàn)方法如下:

復(fù)制代碼 代碼如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace OpenMonitor
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            HotKey.RegisterHotKey(this.Handle, 100, 0, Keys.F4);
            HotKey.RegisterHotKey(this.Handle,101,0,Keys.F5);
        }

        class HotKey
        {
            // 如果函數(shù)執(zhí)行成功,返回值不為0。
            // 如果函數(shù)執(zhí)行失敗,返回值為0。要得到擴(kuò)展錯(cuò)誤信息,調(diào)用GetLastError。
            [DllImport("user32.dll  ", SetLastError = true)]
            public static extern bool RegisterHotKey(
                   IntPtr hWnd, // 要定義熱鍵的窗口的句柄
                    int id,    // 定義熱鍵ID(不能與其它ID重復(fù))  
                   KeyModifiers fsModifiers, // 標(biāo)識(shí)熱鍵是否在按Alt、Ctrl、Shift、Windows等鍵時(shí)才會(huì)生效
                   Keys vk    // 定義熱鍵的內(nèi)容
                   );

            [DllImport("user32.dll  ", SetLastError = true)]
            public static extern bool UnregisterHotKey(
                   IntPtr hWnd,  // 要取消熱鍵的窗口的句柄
                    int id      // 要取消熱鍵的ID
                   );

            // 定義了輔助鍵的名稱(將數(shù)字轉(zhuǎn)變?yōu)樽址员阌谟洃?,也可去除此枚舉而直接使用數(shù)值)
            [Flags()]
            public enum KeyModifiers
            {
                None = 0,
                Alt = 1,
                Ctrl = 2,
                Shift = 4,
                WindowsKey = 8
            }
        }

        protected override void WndProc(ref    Message m)
        {
            const int WM_HOTKEY = 0x0312;
            // 按快捷鍵  
            switch (m.Msg)
            {
                case WM_HOTKEY:
                    switch (m.WParam.ToInt32())
                    {
                        case 100:
                            MonitorHelper.TurnOn();
                            break;
                        case 101:
                            MonitorHelper.TurnOff();
                            break;
                    }
                    break;
            }
            base.WndProc(ref    m);
        }

        class MonitorHelper
        {
            public static void TurnOn()
            {
                SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, -1);
            }

            public static void TurnOff()
            {
                SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2);
            }

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

            private static readonly IntPtr HWND_BROADCAST = new IntPtr(0xffff);
            private const uint WM_SYSCOMMAND = 0x0112;
            private const int SC_MONITORPOWER = 0xf170;
        }
    }
}

希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • C# 9.0 新特性之模式匹配簡(jiǎn)化的實(shí)現(xiàn)

    C# 9.0 新特性之模式匹配簡(jiǎn)化的實(shí)現(xiàn)

    這篇文章主要介紹了C# 9.0 新特性之模式匹配簡(jiǎn)化的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • C#實(shí)現(xiàn)奇偶排序的示例代碼

    C#實(shí)現(xiàn)奇偶排序的示例代碼

    奇偶排序是一種簡(jiǎn)單的排序算法,該算法通過(guò)比較并交換相鄰的元素來(lái)完成排序,本文主要介紹了C#實(shí)現(xiàn)奇偶排序的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-11-11
  • C#程序中創(chuàng)建、復(fù)制、移動(dòng)、刪除文件或文件夾的示例

    C#程序中創(chuàng)建、復(fù)制、移動(dòng)、刪除文件或文件夾的示例

    這篇文章主要介紹了C#程序中創(chuàng)建、復(fù)制、移動(dòng)、刪除文件或文件夾的示例,即對(duì)System.IO命名空間中類的運(yùn)用,需要的朋友可以參考下
    2016-02-02
  • C#實(shí)現(xiàn)加密與解密詳解

    C#實(shí)現(xiàn)加密與解密詳解

    本文詳細(xì)講解了C#實(shí)現(xiàn)加密與解密詳解的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • C#怎么給PDF添加背景圖片

    C#怎么給PDF添加背景圖片

    無(wú)論是辦公還是日常生活中都經(jīng)常會(huì)用到,很多時(shí)候,PDF文件的背景色都是白色,看多了難免覺(jué)得累,更換PDF的背景不僅可以讓眼睛看起來(lái)更舒服,還可以讓PDF文件看上去更美觀。這篇文章我主要寫(xiě)的是如何使用C# 給PDF文件添加圖片背景
    2016-02-02
  • C#中判斷、驗(yàn)證字符串是否為日期格式的實(shí)現(xiàn)代碼

    C#中判斷、驗(yàn)證字符串是否為日期格式的實(shí)現(xiàn)代碼

    這篇文章主要介紹了C#中判斷、驗(yàn)證字符串是否為日期格式的實(shí)現(xiàn)代碼,使用DateTime類中自帶的兩個(gè)方法實(shí)現(xiàn),需要的朋友可以參考下
    2014-08-08
  • C#使用OpenCvSharp實(shí)現(xiàn)圖像校正

    C#使用OpenCvSharp實(shí)現(xiàn)圖像校正

    這篇文章主要為大家詳細(xì)介紹了C#如何使用OpenCvSharp實(shí)現(xiàn)圖像校正功能,文中的示例代碼簡(jiǎn)潔易懂,具有一定的學(xué)習(xí)價(jià)值,需要的小伙伴可以參考下
    2023-11-11
  • C#實(shí)現(xiàn)單件模式的三種常用方法

    C#實(shí)現(xiàn)單件模式的三種常用方法

    這篇文章主要介紹了C#實(shí)現(xiàn)單件模式的三種常用方法,分析了單件模式的原理、功能與常用的三種實(shí)現(xiàn)方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-04-04
  • c# base64轉(zhuǎn)字符串實(shí)例

    c# base64轉(zhuǎn)字符串實(shí)例

    這篇文章主要介紹了c# base64轉(zhuǎn)字符串實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-12-12
  • C#中FlagsAttribute屬性在enum中的應(yīng)用詳解

    C#中FlagsAttribute屬性在enum中的應(yīng)用詳解

    這篇文章主要介紹了C#中FlagsAttribute屬性在enum中的應(yīng)用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-10-10

最新評(píng)論