我想开发一个按键转换器,它将任何按键转换为我的本地语言。例如,如果用户输入“a”,那么它将被替换为对应的 unicode 字母“ \u0995 ”
我使用的代码类似于:https ://stackoverflow.com/global-low-level-keyboard-hook-freezing-in-c-net-3-5在那里,我编辑如下:
// MessageBox.Show("Test"); // I do not want this so commented
int vkCode = Marshal.ReadInt32(lParam);
Console.WriteLine((Keys)(vkCode + 2));
SendKeys.Send("mmm"); // mmm will be my desired unicode character
现在,我打开任何应用程序并输入任何内容,我得到输入的字母和“mmm”。
例如,如果我输入:abcd那么我得到的输出为:mmmcmmmdmmmemmmf .........[输出]
现在我的问题是,
1)如何编辑此代码以发送 unicode 字母而不是字母?(我的意思是,如果我输入“p”,那么我希望其他应用程序应该收到类似于这个 unicode 字符的 unicode 字符:“ 0996 ”
2)如何确保只有unicode字符被发送到其他应用程序,键入的字符不能附加。我的意思是,我不想要上面输出中的 unicode 字符和键入的英文字母[输出]