C# 虚拟鼠标在 Flash 应用程序中单击

C# virtual mouse click in Flash apps

我在使用 C# 虚拟鼠标单击时遇到问题。您知道我们应该使用 "user32.dll" 库和 mouse_event 函数。 我使用以下功能:

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

    private const int MOUSEEVENTF_LEFTDOWN = 0x0002;
    private const int MOUSEEVENTF_LEFTUP = 0x0004;
    private const int MOUSEEVENTF_MIDDLEDOWN = 0x0020;
    private const int MOUSEEVENTF_MIDDLEUP = 0x0040;
    private const int MOUSEEVENTF_MOVE = 0x0001;
    private const int MOUSEEVENTF_XDOWN = 0x0080;
    private const int MOUSEEVENTF_XUP = 0x0100;
    private const int MOUSEEVENTF_RIGHTDOWN = 0x08;
    private const int MOUSEEVENTF_RIGHTUP = 0x0010;

并像那样使用它:

mouse_event(MOUSEEVENTF_LEFTDOWN, X, Y, 0, 0);

伙计们,它在所有应用程序上的工作都非常好,没问题!但在 Flash 应用程序中没有

我在这里看到了 post :

Problem automating mouse and interacting with Flash apps

他们说使用所有 mouse_event 功能,我使用了所有功能,但没有人能帮助我...

还有人说用SendInput,你比我更清楚flash player做出来的shape是没有handle的。并且只有主程序可以访问它们。所以我们不能使用 SendInput...

我想用这段代码解决我的问题..(我不喜欢使用动态数据交换等困难的方法...)我想用我的学习来解决...我可以吗?

非常感谢...

我找到了...

您应该 运行 您作为管理员的进程来执行此操作...