Справочник по C#

    Исходники по языку программирования CSharp

    Игра с индикаторами NumLock, CapsLock, ScrollLock.: Справочник по C#

    /
    /
    /
    131 Views


          Данный пример реализует последовательное загорание и затухание индикаторов NumLock, CapsLock, ScrollLock на клавиатуре. Также его можно использовать для реализации управления включения и отключения режимов NumLock, CapsLock, ScrollLock.Создайте проект Windows Form в Microsoft Visual Studio. Добавьте компонент Timer на вашу главную форму. Перейдите в свойства компонента и выставьте следующие параметры:
    Enabled: True
    Interval: 1000
    Для работы проекта вам понадобится подключить пространство имен:

    using System.Runtime.InteropServices;
    using System.Threading;
    

    Сделайте двойной клик по компоненту Timer и перейдите в автоматически созданный метод timer1_Tick, добавьте в него следующий листинг:

    SetNumLockKey(true);
    Thread.Sleep(100);
    SetNumLockKey(false);
    Thread.Sleep(100);
    SetCapsLockKey(true);
    Thread.Sleep(100);
    SetCapsLockKey(false);
    Thread.Sleep(100);
    SetScrollLockKey(true);
    Thread.Sleep(100);
    SetScrollLockKey(false);
    Thread.Sleep(100);

    Теперь переходим к основному коду, добавьте следующий листинг в код главной формы:

    private const byte VK_SCROLL = 0x91;
    private const byte VK_NUMLOCK = 0x90;
    private const byte VK_CAPITAL = 0x14;
    private const uint KEYEVENTF_KEYUP = 0x2;
    
    [DllImport("user32.dll", EntryPoint = "keybd_event", SetLastError = true)]
    static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, uint dwExtraInfo);
    
    [DllImport("user32.dll", EntryPoint = "GetKeyState", SetLastError = true)]
    static extern short GetKeyState(uint nVirtKey);
    //Scroll-------------------------------------------------------
    public static void SetScrollLockKey(bool newState)
    {
    bool scrollLockSet = GetKeyState(VK_SCROLL) != 0;
    if (scrollLockSet != newState)
    {
    keybd_event(VK_SCROLL, 0, 0, 0);
    keybd_event(VK_SCROLL, 0, KEYEVENTF_KEYUP, 0);
    }
    }
    public static bool GetScrollLockState()
    {
    return GetKeyState(VK_SCROLL) != 0;
    }
    //NUM-------------------------------------------------------
    public static void SetNumLockKey(bool newState)
    {
    bool scrollLockSet = GetKeyState(VK_NUMLOCK) != 0;
    if (scrollLockSet != newState)
    {
    keybd_event(VK_NUMLOCK, 0, 0, 0);
    keybd_event(VK_NUMLOCK, 0, KEYEVENTF_KEYUP, 0);
    }
    }
    
    public static bool GetNumLockState()
    {
    return GetKeyState(VK_NUMLOCK) != 0;
    }
    //Caps-------------------------------------------------------
    public static void SetCapsLockKey(bool newState)
    {
    bool scrollLockSet = GetKeyState(VK_NUMLOCK) != 0;
    if (scrollLockSet != newState)
    {
    keybd_event(VK_CAPITAL, 0, 0, 0);
    keybd_event(VK_CAPITAL, 0, KEYEVENTF_KEYUP, 0);
    }
    }
    
    public static bool GetCapsLockState()
    {
    return GetKeyState(VK_CAPITAL) != 0;
    }

    Запустите ваш проект, нажав на клавиатуре клавишу “F5” и посмотрите на индикаторы. Вы так же можете пользоваться этими функциями по отдельности:

    SetNumLockKey(true);

    или выключить!

    SetNumLockKey(false);

    Ссылки для скачивания: Rusfolder.netDepositFilesTurbobit.netLetitbit.net

    Игра с индикаторами NumLock, CapsLock, ScrollLock.: Справочник по C#

    0.00 (0%) 0 votes

    moyadcode13
    • Facebook
    • Twitter
    • Google+
    • Linkedin
    • Pinterest
    moyadcode10
    moyadcode11
    moyadcode9