Ejemplo n.º 1
0
 public static void ScrollDown(HwndPoint hp, int n)
 {
     for (int i = 0; i < n; i++)
     {
         ScrollDown(hp);
     }
 }
Ejemplo n.º 2
0
 public static void MouseLeftClick(HwndPoint hp)
 {
     hp = LocateLowestWindow(hp);
     Debug.WriteLine("Sending WM_LBUTTONDOWN to " + hp.Hwnd + " at location " + hp.X + " " + hp.Y);
     SendMessage(hp.Hwnd, WM_LBUTTONDOWN, (IntPtr)0, (IntPtr)MakeLParam(hp.X, hp.Y));
     SendMessage(hp.Hwnd, WM_LBUTTONUP, (IntPtr)0, (IntPtr)MakeLParam(hp.X, hp.Y));
 }
Ejemplo n.º 3
0
        private static HwndPoint LocateLowestWindow(HwndPoint hp)
        {
            Debug.WriteLine("LocateWindow: " + hp.Hwnd);
            IntPtr ch = ChildWindowFromPointEx(hp.Hwnd, new Point(hp.X, hp.Y), (System.UInt32)ChildWindowFromPointFlags.CWP_ALL);

            Debug.WriteLine("Child Result: " + ch);
            if (ch == hp.Hwnd)
            {
                return(hp);
            }
            else if (ch == null)
            {
                return(hp);
            }
            else
            {
                // ch is a child window - dig deeper

                POINT[] pnt = new POINT[1];
                pnt[0].X = hp.X;
                pnt[0].Y = hp.Y;
                Debug.WriteLine("Point x " + pnt[0].X + " y " + pnt[0].Y);
                MapWindowPoints(hp.Hwnd, ch, ref pnt[0], pnt.Length);
                Debug.WriteLine("Point x " + pnt[0].X + " y " + pnt[0].Y);

                hp.X    = pnt[0].X;
                hp.Y    = pnt[0].Y;
                hp.Hwnd = ch;

                return(LocateLowestWindow(hp));
            }
        }
Ejemplo n.º 4
0
        public static void ScrollUp(HwndPoint hp)
        {
            hp = LocateLowestWindow(hp);

            SendMessage(hp.Hwnd, WM_VSCROLL, (IntPtr)SB_LINEUP, IntPtr.Zero);
        }
Ejemplo n.º 5
0
 public static void MouseMove(HwndPoint hp)
 {
     hp = LocateLowestWindow(hp);
     Debug.WriteLine("Posting WM_MOUSEMOVE to " + hp.Hwnd + " at location " + hp.X + " " + hp.Y);
     PostMessage(hp.Hwnd, WM_MOUSEMOVE, (IntPtr)0, (IntPtr)MakeLParam(hp.X, hp.Y));
 }
Ejemplo n.º 6
0
 public static void MouseLeftClick(HwndPoint hp)
 {
     hp = LocateLowestWindow(hp);
     Debug.WriteLine("Sending WM_LBUTTONDOWN to " + hp.Hwnd + " at location " + hp.X + " " + hp.Y);
     SendMessage(hp.Hwnd, WM_LBUTTONDOWN, (IntPtr)0, (IntPtr)MakeLParam(hp.X, hp.Y));
     SendMessage(hp.Hwnd, WM_LBUTTONUP, (IntPtr)0, (IntPtr)MakeLParam(hp.X, hp.Y));
 }
Ejemplo n.º 7
0
        private static HwndPoint LocateLowestWindow(HwndPoint hp)
        {
            Debug.WriteLine("LocateWindow: " + hp.Hwnd);
            IntPtr ch = ChildWindowFromPointEx(hp.Hwnd, new Point(hp.X, hp.Y), (System.UInt32)ChildWindowFromPointFlags.CWP_ALL);
            Debug.WriteLine("Child Result: " + ch);
            if (ch == hp.Hwnd)
            {
                return hp;
            }
            else if (ch == null)
            {
                return hp;
            }
            else
            {
                // ch is a child window - dig deeper

                POINT[] pnt = new POINT[1];
                pnt[0].X = hp.X;
                pnt[0].Y = hp.Y;
                Debug.WriteLine("Point x " + pnt[0].X + " y " + pnt[0].Y);
                MapWindowPoints(hp.Hwnd , ch, ref pnt[0], pnt.Length);
                Debug.WriteLine("Point x " + pnt[0].X + " y " + pnt[0].Y);

                hp.X = pnt[0].X;
                hp.Y = pnt[0].Y;
                hp.Hwnd = ch;

                return LocateLowestWindow(hp);
            }
        }
Ejemplo n.º 8
0
        public static void ScrollUp(HwndPoint hp)
        {
            hp = LocateLowestWindow(hp);

            SendMessage(hp.Hwnd, WM_VSCROLL,(IntPtr) SB_LINEUP, IntPtr.Zero);
        }
Ejemplo n.º 9
0
 public static void ScrollUp(HwndPoint hp, int n)
 {
     for (int i = 0; i < n; i++)
     {
         ScrollUp(hp);
     }
 }
Ejemplo n.º 10
0
 public static void MouseMove(HwndPoint hp)
 {
     hp = LocateLowestWindow(hp);
     Debug.WriteLine("Posting WM_MOUSEMOVE to " + hp.Hwnd + " at location " + hp.X  + " " + hp.Y);
     PostMessage(hp.Hwnd, WM_MOUSEMOVE, (IntPtr)0, (IntPtr)MakeLParam(hp.X, hp.Y));
 }