if (i==0)
{
//Here I've to do MouseDown operation
}
else
{
//perform MouseUp operation
}
这是示例代码,我想像上面那样做一些事情......
我可以通过 SetCursorPos() 移动鼠标。那么我该如何执行点击事件
if (i==0)
{
//Here I've to do MouseDown operation
}
else
{
//perform MouseUp operation
}
这是示例代码,我想像上面那样做一些事情......
我可以通过 SetCursorPos() 移动鼠标。那么我该如何执行点击事件
可以使用SendInput
WinAPI 函数模拟任何形式的输入(还有已弃用的mouse_event
函数,我发现它更易于使用,但被标记为已弃用/取代)。
根据您的工作,SendMessage
(阻塞)或PostMessage
(非阻塞)使用起来可能会更好/更简单,因为它们直接发送由输入事件生成的窗口消息。
好吧,对于 highgui 窗口,试试这个:
void onmouse( int event, int x, int y, int d, void *ptr )
{
// cache coords for use in main()
cv::Point * p = (cv::Point *)ptr;
p->x = x;
p->y = y;
if ( event != 0 )
cout << event << " " << x << " " << y << " " << d << " " << endl;
}
int main()
{
cv::namedWindow("win",1);
cv::Point p;
cv::SetMouseCallback("win",onmouse,(void*)(&p));
...
// whenever someone clicks or moves, the coords will be in p now