[DllImport("user32.dll")]
static extern short GetKeyState(int nVirtKey);
None.
Here are some sample values for nVirtKey:
const int VK_SHIFT = 0x10;
const int VK_CONTROL = 0x11;
const int VK_MENU = 0x12;
Please add some!
using System.Windows.Forms;
public static bool IsKeyLocked(Keys keyVal) {
switch( keyVal ) {
case Keys.NumLock :
case Keys.Capital :
case Keys.Scroll :
case Keys.Insert :
return (GetKeyState((int)keyVal) & 0x8001) != 0;
}
return false;
}
public static bool IsKeyPressed(Keys keyVal) {
return GetKeyState((int)keyVal) < 0;
}
- Added by Kasper -
/// <summary>
/// This method tests whether a key is down or not.
/// </summary>
/// <param name="k">The key to test.</param>
/// <returns>True if the keys is down.</returns>
public static bool IsKeyDown(System.Windows.Forms.Keys k)
{
short state = GetKeyState((int)k);
if((state & 0x8000) == 0x8000) //It's down
return true;
return false;
}
/// <summary>
/// This method tests whether a key is on or not.
/// </summary>
/// <param name="k">The key to test.</param>
/// <returns>True if the keys is on.</returns>
public static bool IsKeyOn(System.Windows.Forms.Keys k)
{
short state = GetKeyState((int)k);
if((state & 0x0001) == 0x0001) //It's on
return true;
return false;
}
Do you know one? Please contribute it!