public WindowSync(Form form, IntPtr windowHandle, ILogger logger) { _form = form; _windowHandle = windowHandle; _logger = logger; _form.Invoke(new MethodInvoker(() => { _form.ShowInTaskbar = true; NativeWindowMethods.SetWindowLong(_windowHandle, -8, _form.Handle); })); var placement = NativeWindowMethods.GetPlacement(_windowHandle); switch (placement.showCmd) { case ShowWindowCommands.Maximized: SyncWindowState("Maximized"); break; case ShowWindowCommands.Minimized: SyncWindowState("Minimized"); break; case ShowWindowCommands.Normal: SyncWindowState("Normal"); break; } SyncWindowSize(true); SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged; SystemEvents.DisplaySettingsChanged += SystemEvents_DisplaySettingsChanged; }
public WindowSync(Form form, IntPtr windowHandle, ILogger logger) { _form = form; _windowHandle = windowHandle; _logger = logger; _form.Invoke(new MethodInvoker(() => { _form.ShowInTaskbar = true; NativeWindowMethods.SetWindowLong(_windowHandle, -8, _form.Handle); // Until the electron window starts reporting window changes, use a timer to keep them in sync //_syncTimer = new System.Threading.Timer(OnTimerCallback, null, 10, 10); })); OnTimerCallback(null); }
public WindowSync(Form form, IntPtr windowHandle, ILogger logger) { _form = form; _windowHandle = windowHandle; _logger = logger; _form.Invoke(new MethodInvoker(() => { _form.ShowInTaskbar = true; NativeWindowMethods.SetWindowLong(_windowHandle, -8, _form.Handle); // Until the electron window starts reporting window changes, use a timer to keep them in sync //_syncTimer = new System.Threading.Timer(OnTimerCallback, null, 10, 10); })); var placement = NativeWindowMethods.GetPlacement(_windowHandle); switch (placement.showCmd) { case ShowWindowCommands.Maximized: SyncWindowState("Maximized"); break; case ShowWindowCommands.Minimized: SyncWindowState("Minimized"); break; case ShowWindowCommands.Normal: SyncWindowState("Normal"); break; } SyncWindowSize(true); SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged; SystemEvents.DisplaySettingsChanged += SystemEvents_DisplaySettingsChanged; }