相关疑难解决方法(0)

除非我移动光标,否则SendInput不会执行鼠标单击按钮

除非我移动光标,否则SendInput不会执行鼠标单击按钮.

我很感激对这一个的帮助,因为我似乎无法绕过它.

我有一个程序,在前景窗口上执行鼠标单击,我在其中使用SendInput模拟鼠标左键单击.问题是,如果我将光标移动到点击位置而不是SendInput将进行点击,但是如果我不移动光标而不是没有点击发生,即使通过我传递x和y指向MouseInputData.我想执行鼠标左键而不需要实际移动光标.

贝娄是我的课程(相当简单和直接前进)

namespace StackSolution.Classes
{
    public static class SendInputClass
    {

        [DllImport("user32.dll", SetLastError = true)]
        static extern uint SendInput(uint nInputs, ref INPUT pInputs, int cbSize);

        [DllImport("user32.dll")]
        static extern bool SetCursorPos(int X, int Y);

        [DllImport("user32.dll")]
        [return: MarshalAs(UnmanagedType.Bool)]
        static extern bool GetCursorPos(out Point lpPoint);



        [StructLayout(LayoutKind.Sequential)]
        struct INPUT
        {
            public SendInputEventType type;
            public MouseKeybdhardwareInputUnion mkhi;
        }
        [StructLayout(LayoutKind.Explicit)]
        struct MouseKeybdhardwareInputUnion
        {
            [FieldOffset(0)]
            public MouseInputData mi;

            [FieldOffset(0)]
            public KEYBDINPUT ki;

            [FieldOffset(0)]
            public HARDWAREINPUT hi;
        }
        [StructLayout(LayoutKind.Sequential)]
        struct KEYBDINPUT
        {
            public ushort wVk;
            public ushort …
Run Code Online (Sandbox Code Playgroud)

c# mouse winapi mouseevent winforms

25
推荐指数
1
解决办法
2万
查看次数

标签 统计

c# ×1

mouse ×1

mouseevent ×1

winapi ×1

winforms ×1