C# 键盘按键事件的ASCII值?

C# 键盘按键事件的ASCII值?,c#,hex,keyboard-events,C#,Hex,Keyboard Events,我借用了一些代码,将一个关键事件发送到另一个进程(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 w

我借用了一些代码,将一个关键事件发送到另一个进程(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值


谢谢

对于发送ascii字符,您可以使用类型转换,以下是示例:

System.Convert.ToUInt16('7')
要发送非ascii字符,请使用虚拟密钥代码。参考资料可在 你可以试试