C# 鼠标悬停在Flash上时鼠标事件WinAPI调用不工作

C# 鼠标悬停在Flash上时鼠标事件WinAPI调用不工作,c#,flash,winapi,mouse,C#,Flash,Winapi,Mouse,我正在写一个小程序,可以模拟鼠标在指定位置的点击。 使用Win32 API调用鼠标事件,如下所示: [DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] public static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint dwData, UIntPtr dwExtraInfo)

我正在写一个小程序,可以模拟鼠标在指定位置的点击。 使用Win32 API调用鼠标事件,如下所示:

[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint dwData, UIntPtr dwExtraInfo);

[Flags]
public enum MouseEventFlags : uint
{
    LEFTDOWN = 0x00000002,
    LEFTUP = 0x00000004,
    MIDDLEDOWN = 0x00000020,
    MIDDLEUP = 0x00000040,
    MOVE = 0x00000001,
    ABSOLUTE = 0x00008000,
    RIGHTDOWN = 0x00000008,
    RIGHTUP = 0x00000010
}

mouse_event((uint)(MouseEventFlags.LEFTDOWN | MouseEventFlags.LEFTUP), x, y, 0, UIntPtr.Zero);
工作正常,除非鼠标光标位于Flash应用程序上。Flash似乎忽略了模拟的鼠标点击。 这可能是什么原因?我该如何修复它

谢谢大家!

试试看

mouse_event((uint)
(MouseEventFlags.LEFTDOWN | MouseEventFlags.LEFTUP | MouseEventFlags.ABSOLUTE), 
 x, y, 0, UIntPtr.Zero);
另外,由于某种奇怪的原因,我在上面的p/Invoke调用约定中遇到了问题,请参见

mouse_event((uint)
(MouseEventFlags.LEFTDOWN | MouseEventFlags.LEFTUP | MouseEventFlags.ABSOLUTE), 
 x, y, 0, UIntPtr.Zero);
另外,出于某种奇怪的原因,我对上述p/Invoke调用约定有问题,请参阅