Состояние клавиш переключателей
От: Аноним  
Дата: 19.04.03 09:40
Оценка:
Как узнать включен ли CapsLock, NumLock, Insert?
Re: Состояние клавиш переключателей
От: VladD2 Российская Империя www.nemerle.org
Дата: 20.04.03 20:06
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А> Как узнать включен ли CapsLock, NumLock, Insert?


С помощью ВинФормсов черт его знает.

Опиши импорт GetKeyState из User32.dll (описание в MSDN) и вызывай.

enum vk : int
{
    VK_NUMLOCK = 0x90,
    VK_SCROLL = 0x91,
};

[System.Runtime.InteropServices.DllImport("User32.dll")]
private extern static Int16 GetKeyState(Int32 nVirtKey);

static bool GetKeyState(vk key)
{
    return (GetKeyState((Int32)key) & 0xF) != 0;
}

...
label1.Text = GetKeyState(vk.VK_SCROLL).ToString();


Insert — это не переключатель и система его не отслеживает. Так что лови нажатие в нужном контроле и делай то что нужно вручную.
... << RSDN@Home 1.0 beta 6a >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Состояние клавиш переключателей
От: Аноним  
Дата: 21.04.03 03:44
Оценка:
большое спасибо, но только как это
сделать спомошью .NET Framework без WinAPI?
(эсли это возможно)
Re[3]: Состояние клавиш переключателей
От: Shulapov Россия  
Дата: 21.04.03 06:08
Оценка:
Здравствуйте, Аноним, Вы писали:

А> большое спасибо, но только как это

А>сделать спомошью .NET Framework без WinAPI?
А>(эсли это возможно)

возможно. Используй свойство ModifierKeys класса Control


public System.Windows.Forms.Keys ModifierKeys [  get]
    Member of System.Windows.Forms.Control

Summary:
Gets a value indicating which of the modifier keys (SHIFT, CTRL, and ALT) is in a pressed state.
Одинаковые ошибки не обязательно делать каждый раз, достаточно сделать одну, а затем обращаться к ней по мере необходимости из любого места программы.
Re[4]: Состояние клавиш переключателей
От: Аноним  
Дата: 21.04.03 08:49
Оценка:
Здравствуйте, Shulapov, Вы писали:

S>Здравствуйте, Аноним, Вы писали:


А> большое спасибо, но только как это

А>сделать спомошью .NET Framework без WinAPI?
А>(эсли это возможно)

S>возможно. Используй свойство ModifierKeys класса Control



S>
S>public System.Windows.Forms.Keys ModifierKeys [  get]
S>    Member of System.Windows.Forms.Control

S>Summary:
S>Gets a value indicating which of the modifier keys (SHIFT, CTRL, and ALT) is in a pressed state.
S>


Это совсем другое то что ты говориш.
ModifierKeys указывает Была(именно) ли нажато ALT, SHIFT или CTRL дополнительно.

А то что мне интересует относится глобальному состоянию (включена ли
Cals Lock) и не относится конретному Control-у. Неужели нету
такой клас в .Net Framework который отвечает такие глобальные веши.

Буду очень благодарен.
Re[3]: Состояние клавиш переключателей
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.04.03 10:13
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А> большое спасибо, но только как это

А>сделать спомошью .NET Framework без WinAPI?
А>(эсли это возможно)

Я не нашел.
... << RSDN@Home 1.0 beta 6a >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Состояние клавиш переключателей
От: sulik Россия http://nickpasko.blogspot.com
Дата: 11.10.03 05:15
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Я не нашел.


неужели никто не знает??
Сознание определяет бытие!
Re[5]: Состояние клавиш переключателей
От: Lamark  
Дата: 30.11.06 13:37
Оценка:
Привет, всем!

Тема давно открыта, но ответа так и не прозвучало, может излишне писать, но ...
данные о клавишах CapsLock и NumLock находятся в классе Console
Re[6]: Состояние клавиш переключателей
От: Pavel M. Россия  
Дата: 01.12.06 10:06
Оценка:
Здравствуйте, Lamark, Вы писали:

L>Привет, всем!


L>Тема давно открыта, но ответа так и не прозвучало, может излишне писать, но ...

L>данные о клавишах CapsLock и NumLock находятся в классе Console

крайне подходящее место )
--------------------------
less think — do more
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.