public static void SetState(TaskbarState taskbarState) { if (_taskbarSupported) { _taskbarInstance.SetProgressState(GetConsoleWindow(), taskbarState); } }
/// <summary> /// Sets the state of the taskbar. /// </summary> /// <param name="state">The new state.</param> public static void SetTaskBarState(TaskbarState state) { var appBar = CreateAppBarData(); appBar.lParam = (IntPtr)state; NativeMethods.SHAppBarMessage(NativeMethods.ABMsg.ABM_SETSTATE, ref appBar); }
public static void SetState(TaskbarState taskbarState) { if (taskbarSupported) { taskbarInstance.SetProgressState(WindowHandle, taskbarState); } }
/// <summary> /// Sets the progress state of the specified window's /// taskbar button. /// </summary> /// <param name="state">The progress state.</param> public static void SetProgressState(TaskbarState state) { if (Windows7OrGreater) { TaskbarList.SetProgressState(Application.OpenForms[0].Handle, state); } }
private static void SetState(IntPtr handle, TaskbarState state) { if (!Supported) { return; } Instance.SetProgressState(handle, state); }
private static void SetStateUnsafe(IntPtr handle, TaskbarState state) { // ReSharper disable once SuspiciousTypeConversion.Global if (_instance == null) { _instance = new TaskbarInstance() as ITaskbarList3; } _instance?.SetProgressState(handle, state); }
public void Set(TaskbarState state) { if (Equals(state, _state)) { return; } _state = state; SetState(_windowHandle, state); }
public void Set(TaskbarState state, double value) { ActionExtension.InvokeInMainThreadAsync(() => { if (state != _state || value != _value) { _state = state; _value = value; TaskbarService.Update(); } }); }
private static bool _supported = false; // Environment.OSVersion.Version >= new Version(6, 1); private static void SetState(IntPtr handle, TaskbarState state) { if (!_supported) { return; } try { Instance.SetProgressState(handle, state); } catch (InvalidCastException e) { Logging.Warning(e); _supported = false; } }
public static void SetState(IntPtr WindowHandle, TaskbarState State) { if(Interface != null) { try { Interface.SetProgressState(WindowHandle, State); } catch { } } }
public static void SetState(IntPtr WindowHandle, TaskbarState State) { if (Interface != null) { try { Interface.SetProgressState(WindowHandle, State); } catch { } } }
private static void SetState(IntPtr handle, TaskbarState state) { if (!_supported) { return; } try { SetStateUnsafe(handle, state); } catch (Exception e) { Logging.Warning(e); _supported = false; } }
public void UpdateProgress() { TaskbarState State = TaskbarState.NoProgress; float Progress = -1.0f; for (int Idx = 0; Idx < TabControl.GetTabCount(); Idx++) { IMainWindowTabPanel TabPanel = (IMainWindowTabPanel)TabControl.GetTabData(Idx); Tuple <TaskbarState, float> DesiredTaskbarState = TabPanel.DesiredTaskbarState; if (DesiredTaskbarState.Item1 == TaskbarState.Error) { State = TaskbarState.Error; TabControl.SetHighlight(Idx, Tuple.Create(Color.FromArgb(204, 64, 64), 1.0f)); } else if (DesiredTaskbarState.Item1 == TaskbarState.Paused && State != TaskbarState.Error) { State = TaskbarState.Paused; TabControl.SetHighlight(Idx, Tuple.Create(Color.FromArgb(255, 242, 0), 1.0f)); } else if (DesiredTaskbarState.Item1 == TaskbarState.Normal && State != TaskbarState.Error && State != TaskbarState.Paused) { State = TaskbarState.Normal; Progress = Math.Max(Progress, DesiredTaskbarState.Item2); TabControl.SetHighlight(Idx, Tuple.Create(Color.FromArgb(28, 180, 64), DesiredTaskbarState.Item2)); } else { TabControl.SetHighlight(Idx, null); } } if (IsHandleCreated) { if (State == TaskbarState.Normal) { Taskbar.SetState(Handle, TaskbarState.Normal); Taskbar.SetProgress(Handle, (ulong)(Progress * 1000.0f), 1000); } else { Taskbar.SetState(Handle, State); } } }
internal static void MaintainBarState(this List <Taskbar> taskbars, TaskbarState taskbarState) { if (taskbarState.HideTaskbarCompletely) { foreach (var taskbar in taskbars) { ShowWindow(taskbar.Handle, SwHide); } } else { if (taskbarState.TransparentMode == TransparentModeType.Disable) { return; } foreach (var taskbar in taskbars) { SetWindowCompositionAttribute(taskbar.Handle, ref _data); } } }
/// <summary> /// Sets the progress state of the specified window's /// taskbar button. /// </summary> /// <param name="state">The progress state.</param> public static void SetProgressState(TaskbarState state) { if (Windows7OrGreater) TaskbarList.SetProgressState(Application.OpenForms[0].Handle, state); }
void IView.SetTaskbarState(TaskbarState state) { // todo }
public void Set(TaskbarState state) { if (Equals(state, _state)) return; _state = state; SetState(_windowHandle, state); }
private static void SetState(IntPtr handle, TaskbarState state) { if (!Supported) return; Instance.SetProgressState(handle, state); }
void IView.SetTaskbarState(TaskbarState state) { TaskbarProgress.SetState(this.Handle, state == TaskbarState.Progress ? TaskbarProgress.TaskbarStates.Normal : TaskbarProgress.TaskbarStates.NoProgress); }
/// <summary> /// Sets the autohide and always-on-top states of the Windows taskbar. /// </summary> /// <param name="newState">The new state to set for the Taskbar</param> public void SetState(TaskbarState newState) { appbarData.lParam = (int)newState; NativeMethods.SHAppBarMessage((uint)Message.ABM_SETSTATE, ref appbarData); }
/// <summary> /// Too complicated to explain, so no comments /// </summary> /// <param name="taskbars"></param> /// <param name="taskbarState"></param> internal static void SetBarState(this List <Taskbar> taskbars, TaskbarState taskbarState) { if (taskbarState.HideTaskbarCompletely) { AutoHide.SetAutoHide(true); foreach (var taskbar in taskbars) { ShowWindow(taskbar.Handle, SwHide); } } else { if (taskbarState.TransparentMode == TransparentModeType.Disable) { ButtonSize.SetIconSize(taskbarState.IconSize); AutoHide.SetAutoHide(taskbarState.IsAutoHide); foreach (var taskbar in taskbars) { ShowWindow(taskbar.Handle, SwShow); } PostMessage(FindWindow(Constant.MainTaskbar, null), WmThemechanged, IntPtr.Zero, IntPtr.Zero); if (_accentPtr == IntPtr.Zero) { return; } Marshal.FreeHGlobal(_accentPtr); _accentPtr = IntPtr.Zero; } else { if (_accentPtr == IntPtr.Zero) { var size = Marshal.SizeOf(typeof(AccentPolicy)); _accentPtr = Marshal.AllocHGlobal(size); _data = new WindowCompositionAttributeData { Attribute = 19, SizeOfData = size, Data = _accentPtr }; } AccentPolicy accent; switch (taskbarState.TransparentMode) { case TransparentModeType.Transparent: accent = new AccentPolicy { AccentState = 3, AccentFlags = 1 }; break; case TransparentModeType.Blur: accent = new AccentPolicy { AccentState = 2, AccentFlags = 2, GradientColor = 0 }; break; default: throw new ArgumentOutOfRangeException(); } Marshal.StructureToPtr(accent, _accentPtr, false); ButtonSize.SetIconSize(taskbarState.IconSize); AutoHide.SetAutoHide(taskbarState.IsAutoHide); foreach (var taskbar in taskbars) { SetWindowCompositionAttribute(taskbar.Handle, ref _data); ShowWindow(taskbar.Handle, SwShow); } } } }
public static void SetState(this TaskbarState state) { AutoHide.SetAutoHide(state.IsAutoHide); ButtonSize.SetIconSize(state.IconSize); }