private void editor_Exited(object sender, EventArgs e) { _triggerExit = false; SetRestoreSize(); ChildTracker.Unhook(); Environment.Exit(0); }
private void DockWindow() { var process = Process.GetProcessesByName("sublime_text"); if (process.Length == 0) { DialogResult answer = MessageBox.Show(@"Please launch Sublime and click Retry", @"Launch the editor", MessageBoxButtons.RetryCancel, MessageBoxIcon.Warning); if (answer == DialogResult.Retry) { DockWindow(); } else { Environment.Exit(0); } return; } pDocked = process.First(); pDocked.EnableRaisingEvents = true; pDocked.Exited += editor_Exited; ChildTracker.RestoreWindow(pDocked.MainWindowHandle); HideTitleBar(pDocked.MainWindowHandle); NativeMethods.SetWindowLong(pDocked.MainWindowHandle, -8 /* OWNER */, (int)container.Handle); RestorePreviousSize(); FitToWindow(); InvalidateWindow(pDocked.MainWindowHandle); NativeMethods.SendMessage(pDocked.MainWindowHandle, 0x000F /* WMPAINT */, UIntPtr.Zero, IntPtr.Zero); }
private void HookChildTracker() { ChildTracker.Hook(pDocked.MainWindowHandle); ChildTracker.ChildMinimized += (() => { WindowState = FormWindowState.Minimized; }); }