예제 #1
0
        static void WindowManager()
        {
            System.Drawing.Rectangle originalWindowRect;
            CoreWindow.GetWindowRect(WindowPointer, out originalWindowRect);
            Console.WriteLine("Original Window: " + originalWindowRect);

            bool isWindowBorderOn = false;

            if (!string.IsNullOrEmpty(ConfigData.HighlighterColor) && ConfigData.HighlighterBorderWidth > 0)
            {
                borderWindowHighlighter =
                    new WindowHighlighter(Color.FromName(ConfigData.HighlighterColor), Color.AliceBlue);
                isWindowBorderOn = true;
            }

            while (true)
            {
                IntPtr    currentWindow = CoreWindow.GetForegroundWindow();
                Rectangle windowRectangle;
                CoreWindow.GetWindowRect(WindowPointer, out windowRectangle);

                windowRectangle.Width  -= windowRectangle.X;
                windowRectangle.Height -= windowRectangle.Y;

                if (isWindowBorderOn)
                {
                    borderWindowHighlighter.Highlight(windowRectangle, false, ConfigData.HighlighterBorderWidth);
                    borderWindowHighlighter.SetLocation(windowRectangle, false);
                }

                if (IsDraggingWindow && currentWindow == WindowPointer)
                {
                    System.Drawing.Point hostCursorPosition = CoreMouse.GetCursorPosition();

                    CoreWindow.MoveWindow(WindowPointer, hostCursorPosition.X, hostCursorPosition.Y,
                                          ConfigData.StaticWidth, ConfigData.StaticHeight, true);

                    Console.WriteLine(hostCursorPosition);
                }

                if (currentWindow != WindowPointer && isWindowBorderOn)
                {
                    borderWindowHighlighter.Hide();
                }
            }
        }