我尝试挂钩一个窗口的 wnd proc,突然出现了一个野生变量......
好的,让我再描述一下我的问题。IP/调用了一些函数来从 C# 访问 C++ WinApi。我想将一些击键从一个窗口复制到另一个窗口(也就是 WoW 和其他 MMO 中的双拳击) P/Invoking 工作得很好,我很高兴,但我很困惑变量dwExtraInfo
的用途。该字段上的文档只是重复了名称本身已经说过的内容......
这是定义: http: //msdn.microsoft.com/en-us/library/windows/desktop/ms644967 (v=vs.85).aspx
或者对于懒惰的人(我也是其中之一:P):
[StructLayout(LayoutKind.Sequential)]
public class KBDLLHOOKSTRUCT
{
public uint vkCode;
public uint scanCode;
public KBDLLHOOKSTRUCTFlags flags;
public uint time;
public UIntPtr dwExtraInfo;
}
当我想将此数据发送到游戏(WPARAM 设置为WM_KEYDOWN
and的 SendMessage 时WM_KEYUP
),我将 vkCode 设置为 WPARAM 并从该结构构建我的 LPARAM。dwExtraInfo 只是一条消息中的击键数量吗?
例如,我按住w-key
大约 10 秒钟,它是否会在发送下一条消息之前存储一个间隔内的击键次数?
这个变量真的让我感到困惑......