簡體   English   中英

當光標在Flash上​​時,mouse_event WinAPI調用不起作用

[英]mouse_event WinAPI call not working when cursor is over Flash

我正在寫一個小程序,可以模擬指定位置的鼠標單擊。 像這樣使用Win32 API調用mouse_event:

[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調用約定時遇到了問題,請參見在Windows中模擬鼠標單擊

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM