キーストロークを自分のローカル言語に変換するキーストローク コンバーターを開発したいと考えています。たとえば、ユーザーが「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 文字「0996」に似た Unicode 文字を受信する必要があります。
2) Unicode 文字のみが他のアプリケーションに送信されるようにする方法。入力した文字を追加してはなりません。つまり、上記の出力のようにユニコード文字と入力された英字は必要ありません[出力]