0
if (i==0)
{
 //Here I've to do MouseDown operation
}
else
{
 //perform MouseUp operation
}

这是示例代码,我想像上面那样做一些事情......

我可以通过 SetCursorPos() 移动鼠标。那么我该如何执行点击事件

4

2 回答 2

0

可以使用SendInputWinAPI 函数模拟任何形式的输入(还有已弃用的mouse_event函数,我发现它更易于使用,但被标记为已弃用/取代)。

根据您的工作,SendMessage(阻塞)或PostMessage(非阻塞)使用起来可能会更好/更简单,因为它们直接发送由输入事件生成的窗口消息。

于 2013-03-27T14:47:25.103 回答
0

好吧,对于 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
于 2013-03-27T15:23:49.960 回答