我想将给定的System.Windows.Forms.Keys一组和一组翻译成System.Windows.Forms.InputLanguage相应的System.Char.
试过一些实验MapVirtualKeyEx,但现在有办法考虑键盘状态,并且ToUnicodeEx是死键的痛苦.
我的目标是一个功能......
static char? FromKeys(Keys keys, InputLanguage inputLanguage)
{
// As I think what can be helpful and I got trying to find a solution for this problem:
Keys vkCode = keys & Keys.KeyCode;
Keys modifiers = keys & Keys.Modifiers;
byte[] keyboardState = new byte[256];
keyboardState[vkCode] = 1 << 7;
if (modifiers.HasFlag(Keys.Shift))
{
keyboardState[(int)Keys.ShiftKey] = 1 << 7;
}
if (modifiers.HasFlag(Keys.Control))
{
keyboardState[(int)Keys.ControlKey] = 1 << 7; …Run Code Online (Sandbox Code Playgroud)