OSDN Git Service

WinGui:
[handbrake-jp/handbrake-jp-git.git] / win / C# / Functions / Win32.cs
1 /*  win32.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 \r
7 namespace Handbrake.Functions\r
8 {\r
9     using System;\r
10     using System.Runtime.InteropServices;\r
11 \r
12     /// <summary>\r
13     /// Win32 API calls\r
14     /// </summary>\r
15     public class Win32\r
16     {\r
17         /// <summary>\r
18         /// Set the Forground Window\r
19         /// </summary>\r
20         /// <param name="hWnd">\r
21         /// The h wnd.\r
22         /// </param>\r
23         /// <returns>\r
24         /// A Boolean true when complete.\r
25         /// </returns>\r
26         [DllImport("user32.dll")]\r
27         public static extern bool SetForegroundWindow(int hWnd);\r
28 \r
29         /// <summary>\r
30         /// Lock the workstation\r
31         /// </summary>\r
32         [DllImport("user32.dll")]\r
33         public static extern void LockWorkStation();\r
34 \r
35         /// <summary>\r
36         /// Exit Windows\r
37         /// </summary>\r
38         /// <param name="uFlags">\r
39         /// The u flags.\r
40         /// </param>\r
41         /// <param name="dwReason">\r
42         /// The dw reason.\r
43         /// </param>\r
44         /// <returns>\r
45         /// an integer\r
46         /// </returns>\r
47         [DllImport("user32.dll")]\r
48         public static extern int ExitWindowsEx(int uFlags, int dwReason);\r
49 \r
50         /// <summary>\r
51         /// System Memory Status\r
52         /// </summary>\r
53         public struct MEMORYSTATUS // Unused var's are required here.\r
54         {\r
55             /// <summary>\r
56             /// Unknown\r
57             /// </summary>\r
58             public UInt32 dwLength;\r
59 \r
60             /// <summary>\r
61             /// Memory Load\r
62             /// </summary>\r
63             public UInt32 dwMemoryLoad;\r
64 \r
65             /// <summary>\r
66             /// </summary>\r
67             public UInt32 dwTotalPhys; // Used\r
68 \r
69             /// <summary>\r
70             /// Available Physical Memory\r
71             /// </summary>\r
72             public UInt32 dwAvailPhys;\r
73 \r
74             /// <summary>\r
75             /// Total Page File\r
76             /// </summary>\r
77             public UInt32 dwTotalPageFile;\r
78 \r
79             /// <summary>\r
80             /// Available Page File\r
81             /// </summary>\r
82             public UInt32 dwAvailPageFile;\r
83 \r
84             /// <summary>\r
85             /// Total Virtual Memory\r
86             /// </summary>\r
87             public UInt32 dwTotalVirtual;\r
88 \r
89             /// <summary>\r
90             /// Available Virtual Memory\r
91             /// </summary>\r
92             public UInt32 dwAvailVirtual;\r
93         }\r
94 \r
95         /// <summary>\r
96         /// Global Memory Status\r
97         /// </summary>\r
98         /// <param name="lpBuffer">\r
99         /// The lp buffer.\r
100         /// </param>\r
101         [DllImport("kernel32.dll")]\r
102         public static extern void GlobalMemoryStatus\r
103         (\r
104             ref MEMORYSTATUS lpBuffer\r
105         );\r
106 \r
107         [DllImport("kernel32.dll", SetLastError = true)]\r
108         public static extern bool GenerateConsoleCtrlEvent(ConsoleCtrlEvent sigevent, int dwProcessGroupId);\r
109 \r
110         /// <summary>\r
111         /// Console Ctrl Event\r
112         /// </summary>\r
113         public enum ConsoleCtrlEvent\r
114         {\r
115             CTRL_C = 0,\r
116             CTRL_BREAK = 1,\r
117             CTRL_CLOSE = 2,\r
118         }\r
119     }\r
120 }\r