Example #1
0
 public static void SetState(TaskbarState taskbarState)
 {
     if (_taskbarSupported)
     {
         _taskbarInstance.SetProgressState(GetConsoleWindow(), taskbarState);
     }
 }
Example #2
0
        /// <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);
        }
Example #3
0
 public static void SetState(TaskbarState taskbarState)
 {
     if (taskbarSupported)
     {
         taskbarInstance.SetProgressState(WindowHandle, taskbarState);
     }
 }
Example #4
0
 /// <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);
     }
 }
Example #5
0
 private static void SetState(IntPtr handle, TaskbarState state)
 {
     if (!Supported)
     {
         return;
     }
     Instance.SetProgressState(handle, state);
 }
Example #6
0
 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);
 }
Example #7
0
 public void Set(TaskbarState state)
 {
     if (Equals(state, _state))
     {
         return;
     }
     _state = state;
     SetState(_windowHandle, state);
 }
Example #8
0
 public void Set(TaskbarState state, double value)
 {
     ActionExtension.InvokeInMainThreadAsync(() => {
         if (state != _state || value != _value)
         {
             _state = state;
             _value = value;
             TaskbarService.Update();
         }
     });
 }
Example #9
0
        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;
            }
        }
Example #10
0
		public static void SetState(IntPtr WindowHandle, TaskbarState State)
		{
			if(Interface != null)
			{
				try
				{
					Interface.SetProgressState(WindowHandle, State);
				}
				catch
				{
				}
			}
		}
Example #11
0
 public static void SetState(IntPtr WindowHandle, TaskbarState State)
 {
     if (Interface != null)
     {
         try
         {
             Interface.SetProgressState(WindowHandle, State);
         }
         catch
         {
         }
     }
 }
Example #12
0
 private static void SetState(IntPtr handle, TaskbarState state)
 {
     if (!_supported)
     {
         return;
     }
     try {
         SetStateUnsafe(handle, state);
     } catch (Exception e) {
         Logging.Warning(e);
         _supported = false;
     }
 }
Example #13
0
        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);
                }
            }
        }
Example #14
0
        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);
                }
            }
        }
Example #15
0
 /// <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);
 }
Example #16
0
 void IView.SetTaskbarState(TaskbarState state)
 {
     // todo
 }
Example #17
0
 public void Set(TaskbarState state) {
     if (Equals(state, _state)) return;
     _state = state;
     SetState(_windowHandle, state);
 }
Example #18
0
 private static void SetState(IntPtr handle, TaskbarState state) {
     if (!Supported) return;
     Instance.SetProgressState(handle, state);
 }
Example #19
0
 void IView.SetTaskbarState(TaskbarState state)
 {
     TaskbarProgress.SetState(this.Handle,
                              state == TaskbarState.Progress ? TaskbarProgress.TaskbarStates.Normal : TaskbarProgress.TaskbarStates.NoProgress);
 }
Example #20
0
 /// <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);
 }
Example #21
0
        /// <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);
        }
Example #22
0
        /// <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);
                    }
                }
            }
        }
Example #23
0
 public static void SetState(this TaskbarState state)
 {
     AutoHide.SetAutoHide(state.IsAutoHide);
     ButtonSize.SetIconSize(state.IconSize);
 }