using System;
namespace Common.Native
{
public static class Constants
{
///
/// SetWindowPos flags
///
[Flags]
public enum WindowPositionFlags
{
AsyncWindowPosition = 0x4000,
DeferErase = 0x2000,
DrawFrame = 0x0020,
FrameChanged = 0x0020,
HideWindow = 0x0080,
NoActivate = 0x0010,
NoCopyBits = 0x0100,
NoMove = 0x0002,
NoOwnerZorder = 0x0200,
NoRedraw = 0x0008,
NoReposition = 0x0200,
NoSendChanging = 0x0400,
NoSize = 0x0001,
NoZorder = 0x0004,
ShowWindow = 0x0040,
}
///
/// WM_SYSCOMMAND resize direction
///
public enum ResizeDirection
{
Left = 61441,
Right = 61442,
Top = 61443,
TopLeft = 61444,
TopRight = 61445,
Bottom = 61446,
BottomLeft = 61447,
BottomRight = 61448,
}
///
/// Window messages
///
public enum WindowMessage
{
Create = 0x0001,
Destroy = 0x0002,
Move = 0x0003,
Moving = 0x0216,
Size = 0x0005,
Activate = 0x0006,
SetFocus = 0x0007,
KillFocus = 0x0008,
Enable = 0x000a,
SetRedraw = 0x000b,
SetText = 0x000c,
GetText = 0x000d,
GetTextLength = 0x000e,
Paint = 0x000f,
Close = 0x0010,
QueryEndSession = 0x0011,
Quit = 0x0012,
QueryOpen = 0x0013,
EraseBackground = 0x0014,
SystemColorChange = 0x0015,
WindowPositionChanging = 0x0046,
WindowPositionChanged = 0x0047,
QueryDragIcon = 0x0037,
GetIcon = 0x007F,
SetIcon = 0x0080,
CreateNonClientArea = 0x0081,
DestroyNonClientArea = 0x0082,
CalculateNonClientSize = 0x0083,
HitTestNonClientArea = 0x0084,
PaintNonClientArea = 0x0085,
ActivateNonClientArea = 0x0086,
GetDialogCode = 0x0087,
SyncPaint = 0x0088,
NonClientMouseMove = 0x00a0,
NonClientLeftButtonDown = 0x00a1,
NonClientLeftButtonUp = 0x00a2,
NonClientLeftButtonDoubleClick = 0x00a3,
NonClientRightButtonDown = 0x00a4,
NonClientRightButtonUp = 0x00a5,
NonClientRightButtonDoubleClick = 0x00a6,
NonClientMiddleButtonDown = 0x00a7,
NonClientMiddleButtonUp = 0x00a8,
NonClientMiddleButtonDoubleClick = 0x00a9,
SysKeyDown = 0x0104,
SysKeyUp = 0x0105,
SysChar = 0x0106,
SysDeadChar = 0x0107,
SysCommand = 0x0112,
Hotkey = 0x312,
DwmCompositionChanged = 0x031e,
User = 0x0400,
App = 0x8000,
EnterSizeMove = 0x0231,
ExitSizeMove = 0x0232
}
public enum HitTestValues
{
Error = -2,
Transparent = -1,
Nowhere = 0,
Client = 1,
Caption = 2,
SystemMenu = 3,
GrowBox = 4,
Menu = 5,
HorizontalScroll = 6,
VerticalScroll = 7,
MinimizeButton = 8,
MaximizeButton = 9,
Left = 10,
Right = 11,
Top = 12,
TopLeft = 13,
TopRight = 14,
Bottom = 15,
BottomLeft = 16,
BottomRight = 17,
Border = 18,
Object = 19,
Close = 20,
Help = 21
}
[Flags]
public enum ExtendedWindowStyles
{
ToolWindow = 0x00000080,
}
public enum GetWindowLongFields
{
ExStyle = -20,
}
[Flags]
public enum ProcessAccess : uint
{
Terminate = 0x00000001,
CreateThread = 0x00000002,
SetSessionId = 0x00000004,
VmOperation = 0x00000008,
VmRead = 0x00000010,
VmWrite = 0x00000020,
DuplicateHandle = 0x00000040,
CreateProcess = 0x00000080,
SetQuota = 0x00000100,
SetInformation = 0x00000200,
QueryInformation = 0x00000400,
StandardRightsRequired = 0x000F0000,
Synchronize = 0x00100000,
AllAccess =
Terminate | CreateThread | SetSessionId | VmOperation | VmRead | VmWrite | DuplicateHandle |
CreateProcess | SetQuota | SetInformation | QueryInformation | StandardRightsRequired | Synchronize
}
[Flags]
public enum SnapshotFlags : uint
{
HeapList = 0x00000001,
Process = 0x00000002,
Thread = 0x00000004,
Module = 0x00000008,
Module32 = 0x00000010,
All = (HeapList | Process | Thread | Module),
Inherit = 0x80000000,
}
public enum ShowWindowCommand : uint
{
Hide = 0,
ShowNormal = 1,
Normal = 1,
ShowMinimized = 2,
ShowMaximized = 3,
Maximize = 3,
ShowNoActivate = 4,
Show = 5,
Minimize = 6,
ShowMinNoActive = 7,
ShowNa = 8,
Restore = 9
}
public enum SysCommand
{
Size = 0xF000,
Move = 0xF010,
Minimize = 0xF020,
Maximize = 0xF030,
NextWindow = 0xF040,
PreviousWindow = 0xF050,
Close = 0xF060,
VerticalScroll = 0xF070,
HorizontalScroll = 0xF080,
MouseMenu = 0xF090,
KeyMenu = 0xF100,
Arrange = 0xF110,
Restore = 0xF120,
TaskList = 0xF130,
ScreenSave = 0xF140,
HotKey = 0xF150,
Default = 0xF160,
MonitorPower = 0xF170,
ContextHelp = 0xF180,
Separator = 0xF00F,
Icon = Minimize,
Zoom = Maximize,
}
[Flags]
public enum SendMessageTimeoutFlags : uint
{
Normal = 0x0,
Block = 0x1,
AbortIfHung = 0x2,
NoTimeoutIfNotHung = 0x8
}
public const int ICON_BIG = 1;
public const int ICON_SMALL = 0;
public enum ClassLongFlags : int
{
GCLP_MENUNAME = -8,
GCLP_HBRBACKGROUND = -10,
GCLP_HCURSOR = -12,
GCLP_HICON = -14,
GCLP_HMODULE = -16,
GCL_CBWNDEXTRA = -18,
GCL_CBCLSEXTRA = -20,
GCLP_WNDPROC = -24,
GCL_STYLE = -26,
GCLP_HICONSM = -34,
GCW_ATOM = -32
}
public static readonly IntPtr InvalidHandle = new IntPtr(-1);
}
}