// Copyright (c) Microsoft Corporation. All rights reserved. using System; using System.Runtime.InteropServices; namespace wyDay.Controls { /// /// Represents the thumbnail progress bar state. /// public enum ThumbnailProgressState { /// /// No progress is displayed. /// NoProgress = 0, /// /// The progress is indeterminate (marquee). /// Indeterminate = 0x1, /// /// Normal progress is displayed. /// Normal = 0x2, /// /// An error occurred (red). /// Error = 0x4, /// /// The operation is paused (yellow). /// Paused = 0x8 } //Based on Rob Jarett's wrappers for the desktop integration PDC demos. [ComImportAttribute()] [GuidAttribute("ea1afb91-9e28-4b86-90e9-9e9f8a5eefaf")] [InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)] internal interface ITaskbarList3 { // ITaskbarList [PreserveSig] void HrInit(); [PreserveSig] void AddTab(IntPtr hwnd); [PreserveSig] void DeleteTab(IntPtr hwnd); [PreserveSig] void ActivateTab(IntPtr hwnd); [PreserveSig] void SetActiveAlt(IntPtr hwnd); // ITaskbarList2 [PreserveSig] void MarkFullscreenWindow( IntPtr hwnd, [MarshalAs(UnmanagedType.Bool)] bool fFullscreen); // ITaskbarList3 void SetProgressValue(IntPtr hwnd, UInt64 ullCompleted, UInt64 ullTotal); void SetProgressState(IntPtr hwnd, ThumbnailProgressState tbpFlags); // yadda, yadda - there's more to the interface, but we don't need it. } [GuidAttribute("56FDF344-FD6D-11d0-958A-006097C9A090")] [ClassInterfaceAttribute(ClassInterfaceType.None)] [ComImportAttribute()] internal class CTaskbarList { } }