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 回答