Beispiel #1
0
        public static void SaveWindow(IntPtr hwnd)
        {
            WINDOWPLACEMENT windowPlacement;

            Win32Func.GetWindowPlacement(hwnd, out windowPlacement);
            Settings.Default.WindowPlacementFlags       = windowPlacement.flags;
            Settings.Default.WindowPlacementShowCmd     = windowPlacement.showCmd;
            Settings.Default.WindowPlacementMin         = POINTToPoint(windowPlacement.minPosition);
            Settings.Default.WindowPlacementMax         = POINTToPoint(windowPlacement.maxPosition);
            Settings.Default.WindowPlacementNormalPoint = new Point(windowPlacement.normalPosition.Left, windowPlacement.normalPosition.Top);
            Settings.Default.WindowPlacementNormalSize  = new Size(windowPlacement.normalPosition.Right - windowPlacement.normalPosition.Left, windowPlacement.normalPosition.Bottom - windowPlacement.normalPosition.Top);
            Settings.Default.Save();
        }
Beispiel #2
0
 public static void RestoreWindow(IntPtr hwnd)
 {
     if (!Settings.Default.WindowPlacementNormalSize.IsEmpty)
     {
         WINDOWPLACEMENT windowPlacement;
         windowPlacement.length         = System.Runtime.InteropServices.Marshal.SizeOf(typeof(WINDOWPLACEMENT));
         windowPlacement.flags          = Settings.Default.WindowPlacementFlags;
         windowPlacement.showCmd        = Settings.Default.WindowPlacementShowCmd;
         windowPlacement.minPosition    = new POINT(Settings.Default.WindowPlacementMin);
         windowPlacement.maxPosition    = new POINT(Settings.Default.WindowPlacementMax);
         windowPlacement.normalPosition = new RECT(Settings.Default.WindowPlacementNormalPoint, Settings.Default.WindowPlacementNormalSize);
         if (windowPlacement.showCmd == Win32Const.SW_SHOWMINIMIZED)
         {
             windowPlacement.showCmd = Win32Const.SW_SHOWNORMAL;
         }
         Win32Func.SetWindowPlacement(hwnd, ref windowPlacement);
     }
 }