注:获取按钮句柄这些不是问题,关键是发BM_CLICK无效,先发LBUTTONDOWN 在发LBUTTONUP也无效

解决方案 »

  1.   

    fuck  lbuttondown和lubuttonup都无效的话该按扭是怎么让用户操作的?
    是不是你自已参数没有写对  lbuttondown要加鼠标位置的哟
      

  2.   

    楼上的不要这么急,举个例子,就是传家宝外挂那个“确定”按钮
    你可以用spy++获得句柄,在发送LBUTTONDOWN   LBUTTONUP试试
      

  3.   

    消息是发wm_lbuttondown和wm_lbuttonup两项
      

  4.   

    得到按钮ID 获得父窗口句柄,向父窗口发送WM_COMMAND。
      

  5.   

            /// <summary>
            /// 模拟鼠标左键单击
            /// </summary>
            /// <param name="X"></param>
            /// <param name="Y"></param>
            public static void MouseLeftClick(int X, int Y)
            {
                WinAPI.SetCursorPos(X, Y);
                mouse_event(WinAPI.MouseEventFlags.LeftDown, X, Y, 0, (IntPtr)0);
                mouse_event(WinAPI.MouseEventFlags.LeftUp, X, Y, 0, (IntPtr)0);
            }
           public enum MouseEventFlags
            {
                Move = 0x0001,
                LeftDown = 0x0002,
                LeftUp = 0x0004,
                RightDown = 0x0008,
                RightUp = 0x0010,
                MiddleDown = 0x0020,
                MiddleUp = 0x0040,
                Wheel = 0x0800,
                Absolute = 0x8000
            }        [DllImport("User32")]
            public extern static void SetCursorPos(int x, int y);
            //鼠标
            [DllImport("User32")]
            public extern static void mouse_event(MouseEventFlags dwFlags, int dx, int dy, int dwData, IntPtr dwExtraInfo);