在Flash窗口中使用带有C#的user32.dll模拟鼠标悬停

时间:2012-09-23 14:37:24

标签: c# .net

我需要将鼠标悬停消息发送到窗口中的特定点(窗口是闪存程序)而不移动实际鼠标。

我使用mouse_event进行左键单击。

目前我正在将实际鼠标移动到我希望在窗口上模拟悬停事件的位置上)但是我再也无法控制我的鼠标了,所以做一些事情就像停止程序一样非常艰难程序可以控制鼠标。

1 个答案:

答案 0 :(得分:0)

我已经写过一些东西,我在之前获得光标位置并在点击后恢复它。似乎工作。

我不知道我是否可以完全避免光标移动,因为那是绝对的解决方案。

public static void LeftClick(Point position)
    {
        Point cursorPosition;
        GetCursorPos(out cursorPosition);

        MoveMouseTo(position.X, position.Y);
        mouse_event((int)(MouseEventFlags.LEFTDOWN | MouseEventFlags.LEFTUP | MouseEventFlags.ABSOLUTE), position.X, position.Y, 0, IntPtr.Zero);

        SetCursorPos(cursorPosition.X, cursorPosition.Y);
    }