public void OnWndProc(IntPtr hwnd, uint msg, IntPtr wParam, IntPtr lParam,
                              bool restorePlacement, bool activate)
        {
            if (msg != SingleInstanceMessage)
            {
                return;
            }

            if (restorePlacement)
            {
                WindowPlacement placement = WindowPlacement.GetPlacement(hwnd, false);

                if (placement.IsValid && placement.IsMinimized)
                {
                    placement.ShowCmd = WindowNative.SwShowNormal;

                    placement.SetPlacement(hwnd);
                }
            }

            if (!activate)
            {
                return;
            }

            WindowNative.SetForegroundWindow(hwnd);
            WindowUtils.ActivateWindow(WindowUtils.GetModalWindow(hwnd));
        }
Ejemplo n.º 2
0
 private void ViewerForm_Closing(object sender, EventArgs e)
 {
     Settings.Default.Placement = WindowPlacement.GetPlacement(Handle);
     Settings.Default.Save();
     foreach (var tempFolder in _tempFolders)
     {
         if (Directory.Exists(tempFolder))
         {
             Directory.Delete(tempFolder, true);
         }
     }
 }
Ejemplo n.º 3
0
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            Properties.Settings.Default.ComPort         = comboComPort.Text;
            Properties.Settings.Default.CTS             = radCTS.Checked;
            Properties.Settings.Default.DSR             = radDSR.Checked;
            Properties.Settings.Default.Polarity        = comboPolarity.Text;
            Properties.Settings.Default.WindowPlacement = WindowPlacement.GetPlacement(this.Handle);
            Properties.Settings.Default.Save();

            if (_radio != null && _radio.Mox)
            {
                _radio.Mox = false;
            }
        }
Ejemplo n.º 4
0
        public static void ShowSettingsWindow()
        {
            if (Instance.SettingsWindow == null)
            {
                Instance.SettingsWindow = new SettingsWindow();
                WindowPlacement.SetPlacement(new WindowInteropHelper(Instance.SettingsWindow).EnsureHandle(), AppDataHelper.SettingsWindowPlacement);

                void handler(object sender, CancelEventArgs e)
                {
                    Instance.SettingsWindow.Closing      -= handler;
                    AppDataHelper.SettingsWindowPlacement = WindowPlacement.GetPlacement(new WindowInteropHelper(Instance.SettingsWindow).Handle);
                    Instance.SettingsWindow = null;
                }

                Instance.SettingsWindow.Closing += handler;
            }
            Instance.SettingsWindow.Show();
        }
        public void OnWndProc(System.Windows.Window window, IntPtr hwnd, uint msg,
                              IntPtr wParam, IntPtr lParam, bool restorePlacement, bool activate)
        {
            if (!(window is INativeRestorableWindow restorableWindow))
            {
                OnWndProc(hwnd, msg, wParam, lParam, restorePlacement, activate);

                return;
            }

            if (msg != SingleInstanceMessage)
            {
                return;
            }

            if (restorePlacement)
            {
                WindowPlacement placement = WindowPlacement.GetPlacement(hwnd, false);

                if (placement.IsValid && placement.IsMinimized)
                {
                    placement.Flags |= WindowNative.WpfAsyncWindowPlacement;

                    placement.ShowCmd = restorableWindow.DuringRestoreToMaximized
                        ? WindowNative.SwShowMaximized
                        : WindowNative.SwShowNormal;

                    placement.SetPlacement(hwnd);
                }
            }

            if (!activate)
            {
                return;
            }

            WindowNative.SetForegroundWindow(hwnd);
            WindowUtils.ActivateWindow(WindowUtils.GetModalWindow(hwnd));
        }
Ejemplo n.º 6
0
        public void OnWndProc(
            System.Windows.Window window,
            IntPtr hwnd, uint msg,
            IntPtr wParam, IntPtr lParam,
            bool restorePlacement, bool activate)
        {
            if (msg != SingleInstanceMessage)
            {
                return;
            }

            if (restorePlacement)
            {
                var placement = WindowPlacement
                                .GetPlacement(hwnd, false);

                if (placement.IsValid && placement.IsMinimized)
                {
                    placement.Flags |= WindowNative.WpfAsyncWindowPlacement;

                    placement.ShowCmd =
                        window is INativelyRestorableWindow {
                        DuringRestoreToMaximized : true
                    }
Ejemplo n.º 7
0
 public static string GetPlacement(this Window window)
 {
     return(WindowPlacement.GetPlacement(new WindowInteropHelper(window).Handle));
 }
Ejemplo n.º 8
0
 private void SettingsWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e)
 {
     AppDataHelper.SettingsWindowPlacement = WindowPlacement.GetPlacement(new WindowInteropHelper(this).Handle);
     FlyoutHandler.Instance.SettingsWindow = null;
 }