0

キー イベントを別のプロセス (hWnd) に送信する誰かのコードを借りました。その関数の定義は次のとおりです。

public static void SendKey(ushort key, IntPtr hWnd)
{
    SetActiveWindow(hWnd);
    SendMessage(hWnd, WM_KEYDOWN, key, 0);
    SendMessage(hWnd, WM_KEYUP, key, 0);
}

SendMessage が DllImport から取得される場所:

//sends a windows message to the specified window
[DllImport("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, int Msg, uint wParam, int lParam);

ご覧のとおり、SendKey メソッドは、送信するキーのushort値を取ります。

これらの値をどこで見つけることができるか知っている人はいますか? つまり、ユーザーが「7」キーを押して転送したい場合、7 キー イベント/コールバックから ushort 値に移動するにはどうすればよいですか?

ありがとう!

4

2 に答える 2

1

Keys-Enumeration ..を試すことができます。

于 2012-08-20T10:05:44.273 に答える
0

ASCII 文字を送信するには、型キャストを使用できます。以下に例を示します。

System.Convert.ToUInt16('7')

非 ASCII 文字を送信するには、仮想キー コードを使用します。リファレンスは MSDNにあります

于 2012-08-20T09:44:31.540 に答える