OSDN Git Service

CLI: update the built in presets
[handbrake-jp/handbrake-jp-git.git] / win / C# / HandBrake.ApplicationServices / Functions / Win7.cs
1 /*  Win7.cs $\r
2     This file is part of the HandBrake source code.\r
3     Homepage: <http://handbrake.fr>.\r
4     It may be used under the terms of the GNU General Public License. */\r
5 \r
6 namespace HandBrake.ApplicationServices.Functions\r
7 {\r
8     using System;\r
9     using Microsoft.WindowsAPICodePack.Taskbar;\r
10 \r
11     /// <summary>\r
12     /// A class implimenting Windows 7 Specific features\r
13     /// </summary>\r
14     public class Win7\r
15     {\r
16         /// <summary>\r
17         /// The Windows Taskbar\r
18         /// </summary>\r
19         private TaskbarManager windowsTaskbar;\r
20 \r
21         /// <summary>\r
22         /// Initializes a new instance of the <see cref="Win7"/> class.\r
23         /// </summary>\r
24         public Win7()\r
25         {\r
26             if (IsWindowsSeven)\r
27             {\r
28                 windowsTaskbar = TaskbarManager.Instance;\r
29             }\r
30         }\r
31 \r
32         /// <summary>\r
33         /// Gets a value indicating whether this is Windows Seven.\r
34         /// </summary>\r
35         public bool IsWindowsSeven\r
36         {\r
37             get\r
38             {\r
39                 OperatingSystem os = Environment.OSVersion;\r
40                 return os.Version.Major >= 6 && os.Version.Minor >= 1;\r
41             }\r
42         }\r
43 \r
44         /// <summary>\r
45         /// Set the Task Bar Percentage.\r
46         /// </summary>\r
47         /// <param name="percentage">\r
48         /// The percentage.\r
49         /// </param>\r
50         public void SetTaskBarProgress(int percentage)\r
51         {\r
52             if (!IsWindowsSeven)\r
53             {\r
54                 return;\r
55             }\r
56             windowsTaskbar.SetProgressState(TaskbarProgressBarState.Normal);\r
57             windowsTaskbar.SetProgressValue(percentage, 100);\r
58         }\r
59 \r
60         /// <summary>\r
61         /// Disable Task Bar Progress\r
62         /// </summary>\r
63         public void SetTaskBarProgressToNoProgress()\r
64         {\r
65             if (!IsWindowsSeven)\r
66             {\r
67                 return;\r
68             }\r
69 \r
70             windowsTaskbar.SetProgressState(TaskbarProgressBarState.NoProgress);\r
71         }\r
72     }\r
73 }