winapi 中的 MOUSEEVENTF_MOVE_NOCOALESCE 标志是什么?
What is MOUSEEVENTF_MOVE_NOCOALESCE flag in winapi?
MOUSEEVENTF_MOVE_NOCOALESCE
0x2000
The WM_MOUSEMOVE messages will not be coalesced. The default behavior is to coalesce WM_MOUSEMOVE messages.
这句话我没看懂
INPUT input = { 0 };
input.type = INPUT_MOUSE;
input.mi.dwFlags = MOUSEEVENTF_WHEEL | MOUSEEVENTF_MOVE_NOCOALESCE;
input.mi.mouseData = WHEEL_DELTA * 100;
SendInput(1, &input, sizeof(INPUT));
我试过这段代码,但无法识别鼠标移动或鼠标点击等内容被阻止。
When the mouse is moved over the client area of a window, the window procedure receives the
message WM_MOUSEMOVE.
这是来自 Charles Petzold 的编程 Windows 的引述。我认为 WM_MOUSEMOVE 只是意味着鼠标被移动了。
'The WM_MOUSEMOVE messages will not be coalesced'是什么意思?
如果合并 WM_MOUSEMOVE 条消息会怎样?
WM_MOUSEMOVE
按需生成。当程序要求时,系统会将所有鼠标移动累积到单个 WM_MOUSEMOVE
消息中。换句话说,所有输入都合并为一条消息。
使用 MOUSEEVENTF_MOVE_NOCOALESCE
标志允许 SendInput
的客户端注入产生离散 WM_MOUSEMOVE
消息的鼠标移动。
MOUSEEVENTF_MOVE_NOCOALESCE
0x2000
The WM_MOUSEMOVE messages will not be coalesced. The default behavior is to coalesce WM_MOUSEMOVE messages.
这句话我没看懂
INPUT input = { 0 };
input.type = INPUT_MOUSE;
input.mi.dwFlags = MOUSEEVENTF_WHEEL | MOUSEEVENTF_MOVE_NOCOALESCE;
input.mi.mouseData = WHEEL_DELTA * 100;
SendInput(1, &input, sizeof(INPUT));
我试过这段代码,但无法识别鼠标移动或鼠标点击等内容被阻止。
When the mouse is moved over the client area of a window, the window procedure receives the message WM_MOUSEMOVE.
这是来自 Charles Petzold 的编程 Windows 的引述。我认为 WM_MOUSEMOVE 只是意味着鼠标被移动了。
'The WM_MOUSEMOVE messages will not be coalesced'是什么意思?
如果合并 WM_MOUSEMOVE 条消息会怎样?
WM_MOUSEMOVE
按需生成。当程序要求时,系统会将所有鼠标移动累积到单个 WM_MOUSEMOVE
消息中。换句话说,所有输入都合并为一条消息。
使用 MOUSEEVENTF_MOVE_NOCOALESCE
标志允许 SendInput
的客户端注入产生离散 WM_MOUSEMOVE
消息的鼠标移动。