PDA

View Full Version : راهنما در مورد کدهای ناشناخته



arashsoft
چهارشنبه 12 شهریور 1393, 17:05 عصر
سلام
کسی کاربرد کد های زیر را می داند؟

int max = 100;
var prog = Microsoft.WindowsAPICodePack.Taskbar.TaskbarManage r.Instance;
prog.SetProgressState(Microsoft.WindowsAPICodePack .Taskbar.TaskbarProgressBarState.Normal);
for(int i=0;i<max;i++) {
prog.SetProgressValue(i, max);
Thread.Sleep(100);
} prog.SetProgressState(Microsoft.WindowsAPICodePack .Taskbar.TaskbarProgressBarState.NoProgress);

دومی :

using System;
using System.Runtime.InteropServices;
public static class TaskbarProgress
{
public enum TaskbarStates
{
NoProgress = 0,
Indeterminate = 0x1,
Normal = 0x2,
Error = 0x4,
Paused = 0x8
}
[ComImportAttribute()]
[GuidAttribute("ea1afb91-9e28-4b86-90e9-9e9f8a5eefaf")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceI sIUnknown)]
private 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
[PreserveSig]
void SetProgressValue(IntPtr hwnd, UInt64 ullCompleted, UInt64 ullTotal);
[PreserveSig]
void SetProgressState(IntPtr hwnd, TaskbarStates state);
}
[GuidAttribute("56FDF344-FD6D-11d0-958A-006097C9A090")]
[ClassInterfaceAttribute(ClassInterfaceType.None)]
[ComImportAttribute()]
private class TaskbarInstance
{
}
private static ITaskbarList3 taskbarInstance = (ITaskbarList3)new TaskbarInstance();
private static bool taskbarSupported = Environment.OSVersion.Version >= new Version(6, 1);
public static void SetState(IntPtr windowHandle, TaskbarStates taskbarState)
{
if (taskbarSupported) taskbarInstance.SetProgressState(windowHandle, taskbarState);
}
public static void SetValue(IntPtr windowHandle, double progressValue, double progressMax)
{
if (taskbarSupported) taskbarInstance.SetProgressValue(windowHandle, (ulong)progressValue, (ulong)progressMax);
} }


سومی


TaskbarProgress.SetState(this.Handle, TaskbarProgress.TaskbarStates.Indeterminate);
or
TaskbarProgress.SetValue(this.Handle, 50, 100); TaskbarProgress.SetState(this.Handle,TaskbarProgre ss.TaskbarStates.Error);