public void SetInitialWindowPlacement()
 {
     try
     {
         if (this.Configuration == null || !this.Configuration.HasProperty("Left") || !this.Configuration.HasProperty("Width") || !this.Configuration.HasProperty("Top") || !this.Configuration.HasProperty("Height") || !this.Configuration.HasProperty("WindowState"))
         {
             UnsafeNativeMethods.WINDOWPLACEMENT top = new UnsafeNativeMethods.WINDOWPLACEMENT()
             {
                 Length = Marshal.SizeOf(typeof(UnsafeNativeMethods.WINDOWPLACEMENT))
             };
             if (UnsafeNativeMethods.GetWindowPlacement((new WindowInteropHelper(this)).Handle, out top))
             {
                 UnsafeNativeMethods.RECT rECT = new UnsafeNativeMethods.RECT();
                 if (UnsafeNativeMethods.SystemParametersInfo(48, 0, ref rECT, 0))
                 {
                     if (top.NormalPosition.Top < rECT.Top)
                     {
                         top.NormalPosition.Top = rECT.Top;
                     }
                     if (top.NormalPosition.Left < rECT.Left)
                     {
                         top.NormalPosition.Left = rECT.Left;
                     }
                     if (top.NormalPosition.Bottom > rECT.Bottom)
                     {
                         top.NormalPosition.Bottom = rECT.Bottom;
                     }
                     if (top.NormalPosition.Right > rECT.Right)
                     {
                         top.NormalPosition.Right = rECT.Right;
                     }
                     if (top.NormalPosition.Left > top.NormalPosition.Right)
                     {
                         top.NormalPosition.Left = rECT.Left;
                     }
                     if (top.NormalPosition.Top > top.NormalPosition.Bottom)
                     {
                         top.NormalPosition.Top = rECT.Top;
                     }
                     top.ShowCmd = 3;
                     this.SetWindowPlacement(ref top);
                 }
             }
         }
         else
         {
             double      property    = (double)this.Configuration.GetProperty("Left");
             double      num         = (double)this.Configuration.GetProperty("Top");
             double      property1   = (double)this.Configuration.GetProperty("Width");
             double      num1        = (double)this.Configuration.GetProperty("Height");
             WindowState windowState = (WindowState)this.Configuration.GetProperty("WindowState");
             Point       device      = WindowHelper.TransformToDevice(this, new Point(property, num));
             Point       point       = WindowHelper.TransformToDevice(this, new Point(property + property1, num + num1));
             UnsafeNativeMethods.WINDOWPLACEMENT x = new UnsafeNativeMethods.WINDOWPLACEMENT()
             {
                 Length = Marshal.SizeOf(typeof(UnsafeNativeMethods.WINDOWPLACEMENT)),
                 Flags  = 0
             };
             x.MaxPosition.X         = -1;
             x.MaxPosition.Y         = -1;
             x.MinPosition.X         = -1;
             x.MinPosition.Y         = -1;
             x.NormalPosition.Left   = (int)device.X;
             x.NormalPosition.Top    = (int)device.Y;
             x.NormalPosition.Right  = (int)point.X;
             x.NormalPosition.Bottom = (int)point.Y;
             if (windowState != WindowState.Maximized)
             {
                 x.ShowCmd = 1;
             }
             else
             {
                 x.ShowCmd = 3;
             }
             this.SetWindowPlacement(ref x);
         }
         if (this.FeedbackService != null)
         {
             this.FeedbackService.SetData(37, (int)base.ActualWidth);
             this.FeedbackService.SetData(38, (int)base.ActualHeight);
         }
     }
     catch
     {
     }
 }
 public static extern bool SystemParametersInfo(int nAction, int nParam, ref UnsafeNativeMethods.RECT rc, int nUpdate);