我正在使用::SendInput
发送鼠标点击事件:
void LeftDown (LONG x_cord, LONG y_cord)
{
INPUT Input={0};
// left down
Input.type = INPUT_MOUSE;
Input.mi.dwFlags = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTDOWN;
Input.mi.dx = x_cord;
Input.mi.dy = y_cord;
Input.mi.dwExtraInfo = 0x12345; //Is this how to use it?
::SendInput(1,&Input,sizeof(INPUT));
}
我想将dwExtraInfo
设置为某个自定义值,并在目标应用程序的WndProc
中提取它。然后(例如)如果将dwExtraInfo
设置为某个特定值,我将忽略该单击:
LRESULT CALLBACK OSRWindow::WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
if(message == WM_LBUTTONDOWN)
{
if(GetMessageExtraInfo() == 0x12345) //Is this how to use it?
//ignore
else
//do something
}
}
这种天真的方式是使用dwExtraInfo
的正确方法还是有更好的做法?谢谢!
答案 0 :(得分:2)
<强> dwExtraInfo 强>
与鼠标事件关联的其他值。应用程序调用GetMessageExtraInfo来获取此额外信息。
所以是的,就像你在问题中展示它一样使用它。