Exemple #1
0
 internal static void CreateAndInitialize(IntPtr taskbarHandle)
 {
     Instance                     = new Taskbar();
     Instance.Handle              = taskbarHandle;
     Instance.Rectangle           = User32.GetWindowRectangle(Instance.Handle);
     Instance.TaskbarResizeHandle = User32.RegisterWindowSizeChangeEvent(Instance.Handle, taskbarResizeDelegate);
 }
        /// <summary>
        /// Tries to get the taskbar of the running windows system.
        /// (MSTaskListWClass)
        /// </summary>
        /// <returns>A Taskbar representing object for manipulation.</returns>
        /// <exception cref="PlatformNotSupportedException">No TaskBar could be obtained.</exception>
        public static Taskbar GetTaskbar()
        {
            if (Taskbar.Instance != null)
            {
                return(Taskbar.Instance);
            }

            IntPtr taskbarHandle = TaskBarHandle;

            if (taskbarHandle == IntPtr.Zero)
            {
                throw new PlatformNotSupportedException($"The TaskBar cound't be obtained.");
            }

            Taskbar.CreateAndInitialize(taskbarHandle);
            return(GetTaskbar());
        }