2 Stimmen

Was ist die numerische ID für Caps Lock?

Ich muss überprüfen, ob die Feststelltaste gedrückt ist, und habe eine Funktion gefunden, die eine Ganzzahl benötigt, online.

[DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
    public static extern short GetKeyState(int keyCode);

4voto

Holger Brandt Punkte 4284

C# hat auch:

if (Control.IsKeyLocked(Keys.CapsLock))

Keys.CapsLock = 20 (0x14 in hex)

2voto

Uwe Keim Punkte 38139

Vom Googeln fand ich diesen:

void CheckKeyState()
{
   if ((GetKeyState(VK_CAPITAL) & 0x0001)!=0)
      AfxMessageBox("Caps Lock AN!");
   else
      AfxMessageBox("Caps Lock AUS!");
}

Wobei VK_CAPITAL 0x14 ist.

Also könntest du in C# schreiben:

public void CheckKeyState()
{
   if ((GetKeyState(0x14) & 0x0001)!=0)
      System.Windows.Forms.MessageBox.Show("Caps Lock AN!");
   else
      System.Windows.Forms.MessageBox.Show("Caps Lock AUS!");
}

Natürlich macht das, was Holger sagt, viel mehr Sinn als die Verwendung des P/Invoke-Zeugs.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X