using System;
using System.Collections;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Runtime;
using System.Runtime.InteropServices;
using System.Text;
using System.Windows.Forms;
namespace Storm.Win32
{
/// <summary>
/// Class containing native Win32 functions.
/// </summary>
public static class Win32
{
#region Structs
[StructLayout(LayoutKind.Sequential)]
public struct LOGBRUSH
{
#region Fields
public uint lbStyle;
public uint lbColor;
public uint lbHatch;
#endregion
}
[StructLayout(LayoutKind.Sequential)]
public struct PAINTSTRUCT
{
#region Fields
public int fErase;
public int fRestore;
public int fIncUpdate;
public int Reserved1;
public int Reserved2;
public int Reserved3;
public int Reserved4;
public int Reserved5;
public int Reserved6;
public int Reserved7;
public int Reserved8;
public IntPtr hdc;
public Rectangle rcPaint;
#endregion
}
[StructLayout(LayoutKind.Sequential)]
public struct POINT
{
#region Fields
public int X;
public int Y;
#endregion
/// <summary>
/// Initializes the POINT.
/// </summary>
public POINT(int x, int y)
{
X = x;
Y = y;
}
}
[StructLayout(LayoutKind.Sequential)]
public struct RECT
{
#region Fields
public int Left;
public int Top;
public int Right;
public int Bottom;
#endregion
#region Properties
public int Width
{ get { return Right - Left; } }
public int Height
{ get { return Bottom - Top; } }
#endregion
/// <summary>
/// Initializes the RECT.
/// </summary>
public RECT(int left, int top, int right, int bottom)
{
Left = left;
Top = top;
Right = right;
Bottom = bottom;
}
}
[StructLayout(LayoutKind.Sequential)]
public struct SIZE
{
#region Fields
public int cx;
public int cy;
#endregion
}
[StructLayout(LayoutKind.Sequential)]
public struct TRACKMOUSEEVENTS
{
#region Fields
public uint cbSize;
public uint dwFlags;
public uint dwHoverTime;
public IntPtr IntPtr;
#endregion
}
[StructLayout(LayoutKind.Sequential)]
public struct MSG
{
#region Fields
public int message;
public int time;
public int pt_x;
public int pt_y;
public IntPtr IntPtr;
public IntPtr wParam;
public IntPtr lParam;
#endregion
}
[StructLayout(LayoutKind.Sequential)]
public struct WINDOWPOS
{
#region Fields
public int x;
public int y;
public int cx;
public int cy;
public uint flags;
public IntPtr IntPtr;
public IntPtr IntPtrInsertAfter;
#endregion
}
[StructLayout(LayoutKind.Sequential)]
public struct _NCCALCSIZE_PARAMS
{
#region Fields
public RECT NewRect;
public RECT OldRect;
public RECT OldClientRect;
public WINDOWPOS lppos;
#endregion
}
[StructLayout(LayoutKind.Sequential)]
public struct MyStruct
{
#region Fields
public int SomeValue;
public byte b1;
public byte b2;
public byte b3;
public byte b4;
public byte b5;
public byte b6;
public byte b7;
public byte b8;
#endregion
}
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct BLENDFUNCTION
{
#region Fields
public byte BlendOp;
public byte BlendFlags;
public byte SourceConstantAlpha;
public byte AlphaFormat;
#endregion
}
[StructLayout(LayoutKind.Sequential)]
public struct GDITextMetric
{
#region Fields
public int tmMemoryHeight;
public int tmAscent;
public int tmDescent;
public int tmInternalLeading;
public int tmExternalLeading;
public int tmAveCharWidth;
public int tmMaxCharWidth;
public int tmWeight;
public int tmOverhang;
public int tmDigitizedAspectX;
public int tmDigitizedAspectY;
public byte tmFirstChar;
public byte tmLastChar;
public byte tmDefaultChar;
public byte tmBreakChar;
public byte tmItalic;
public byte tmUnderlined;
public byte tmStruckOut;
public byte tmPitchAndFamily;
public byte tmCharSet;
#endregion
}
[StructLayout(LayoutKind.Sequential)]
public class LogFont
{
#region Fields
public int lfHeight = 0;
public int lfWidth = 0;
public int lfEscapement = 0;
public int lfOrientation = 0;
public int lfWeight = 0;
public byte lfItalic = 0;
public byte lfUnderline = 0;
public byte lfStrikeOut = 0;
public byte lfCharSet = 0;
public byte lfOutPrecision = 0;
public byte lfClipPrecision = 0;
public byte lfQuality = 0;
public byte lfPitchAndFamily = 0;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
public string lfFaceName = "";
#endregion
}
[StructLayout(LayoutKind.Sequential)]
public class ENUMLOGFONTEX
{
#region Fields
public LogFont elfLogFont = null;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)]
public string elfFullName = "";
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
public byte[] elfStyle = null;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
public byte[] elfScript = null;
#endregion
}
[StructLayout(LayoutKind.Sequential)]
public class COMPOSITIONFORM
{
#region Fields
public int dwStyle = 0;
public POINT ptCurrentPos = new POINT();
public RECT rcArea = new RECT();
#endregion
}
[StructLayout(LayoutKind.Sequential)]
public struct SYSTEM_INFO
{
#region Fields
public uint dwOemId;
public uint dwPageSize;
public uint lpMinimumApplicationAddress;
public uint lpMaximumApplicationAddress;
public uint dwActiveProcessorMask;
public uint dwNumberOfProcessors;
public uint dwProcessorType;
public uint dwAllocationGranularity;
public uint dwProcessorLevel;
public uint dwProcessorRevision;
#endregion
}
[StructLayout(LayoutKind.Sequential)]
public struct MEMORYSTATUS
{
#region Fields
public uint dwLength;
public uint dwMemoryLoad;
public uint dwTotalPhys;
public uint dwAvailPhys;
public uint dwTotalPageFile;
public uint dwAvailPageFile;
public uint dwTotalVirtual;
public uint dwAvailVirtual;
#endregion
}
public struct FILETIME
{
#region Fields
public int dwLowDateTime;
public int dwHighDateTime;
#endregion
}
public struct SYSTEMTIME
{
#region Fields
public short wYear;
public short wMonth;
public short wDayOfWeek;
public short wDay;
public short wHour;
public short wMinute;
public short wSecond;
public short wMilliseconds;
#endregion
}
public struct DRAGINFO
{
#region Fields
public int uSize;
public int fNC;
public int grfKeyState;
public string lpFileList;
public POINT pt;
#endregion
}
public struct APPBARDATA
{
#region Fields
public int cbSize;
public int uCallbackMessage;
public int uEdge;
public int lParam;
public IntPtr IntPtr;
public RECT rc;
#endregion
}
public struct SHFILEOPSTRUCT
{
#region Fields
public int wFunc;
public int fAnyOperationsAborted;
public short fFlags;
public string lpszProgressTitle;
public string pFrom;
public string pTo;
public IntPtr IntPtr;
public IntPtr hNameMappings;
#endregion
}
public struct SHNAMEMAPPING
{
#region Fields
public int cchOldPath;
public int cchNewPath;
public string pszOldPath;
public string pszNewPath;
#endregion
}
public struct SHELLEXECUTEINFO
{
#region Fields
public int cbSize;
public int fMask;
public int nShow;
public int lpIDList;
public int dwHotKey;
public string lpClass;
public string lpVerb;
public string lpFile;
public string lpParameters;
public string lpDirectory;
public IntPtr IntPtr;
public IntPtr hInstApp;
public IntPtr hkeyClass;
public IntPtr hIcon;
public IntPtr hProcess;
#endregion
}
public struct NOTIFYICONDATA
{
#region Fields
public int cbSize;
public int uID;
public int uFlags;
public int uCallbackMessage;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)]
public string szTip;
public IntPtr hIcon;
public IntPtr IntPtr;
#endregion
}
public struct SHFILEINFO
{
#region Fields
public int iIcon;
public int dwAttributes;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_PATH)]
public string szDisplayName;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 80)]
public string szTypeName;
public IntPtr hIcon;
#endregion
}
public struct BROWSEINFO
{
#region Fields
public int pIDLRoot;
public int pszDisplayName;
public int lpszTitle;
public int ulFlags;
public int lpfnCallback;
public int lParam;
public int iImage;
public IntPtr IntPtrOwner;
#endregion
}
public struct SECURITY_ATTRIBUTES
{
#region Fields
public int nLength;
public int lpSecurityDescriptor;
public int bInheritHandle;
#endregion
}
public struct DLGTEMPLATE
{
#region Fields
public int style;
public int dwExtendedStyle;
public short cdit;
public short x;
public short y;
public short cx;
public short cy;
#endregion
}
public struct ICONINFO
{
#region Fields
public int fIcon;
public int xHotspot;
public int yHotspot;
public IntPtr hbmMask;
public IntPtr hbmColor;
#endregion
}
public struct DEVMODE
{
#region Fields
public int dmBitsPerPel;
public int dmPelsWidth;
public int dmPelsHeight;
public int dmDisplayFlags;
public int dmDisplayFrequency;
public int dmFields;
public short dmSpecVersion;
public short dmDriverVersion;
public short dmSize;
public short dmDriverExtra;
public short dmOrientation;
public short dmPaperSize;
public short dmPaperLength;
public short dmPaperWidth;
public short dmScale;
public short dmCopies;
public short dmDefaultSource;
public short dmPrintQuality;
public short dmColor;
public short dmDuplex;
public short dmYResolution;
public short dmTTOption;
public short dmCollate;
public short dmUnusedPadding;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = CCHFORMNAME)]
public string dmFormName;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
public string dmDeviceName;
#endregion
}
public struct DRAWTEXTPARAMS
{
#region Fields
public int cbSize;
public int iTabLength;
public int iLeftMargin;
public int iRightMargin;
public int uiLengthDrawn;
#endregion
}
public struct SCROLLINFO
{
#region Fields
public int cbSize;
public int fMask;
public int nMin;
public int nMax;
public int nPage;
public int nPos;
public int nTrackPos;
#endregion
}
[StructLayout(LayoutKind.Sequential)]
public struct SHITEMID
{
#region Fields
public ushort cb;
[MarshalAs(UnmanagedType.LPArray)]
public byte[] abID;
#endregion
}
[StructLayout(LayoutKind.Sequential)]
public struct ITEMIDLIST
{
#region Fields
public SHITEMID mkid;
#endregion
}
#endregion
#region Delegates
public delegate int FONTENUMPROC(ENUMLOGFONTEX f,
int lpntme, int FontType, int lParam);
#endregion
#region Messages
// These aren't actually messages, they are const sizes
// for strings' character counts.
public const int CCHFORMNAME = 32;
public const int MAX_PATH = 260;
public const int NAMESIZE = 80;
// Win32 Messages.
public const int ABE_BOTTOM = 3;
public const int ABE_LEFT = 0;
public const int ABE_RIGHT = 2;
public const int ABE_TOP = 1;
public const int ABM_ACTIVATE = 0x6;
public const int ABM_GETAUTOHIDEBAR = 0x7;
public const int ABM_GETSTATE = 0x4;
public const int ABM_GETTASKBARPOS = 0x5;
public const int ABM_NEW = 0x0;
public const int ABM_QUERYPOS = 0x2;
public const int ABM_REMOVE = 0x1;
public const int ABM_SETAUTOHIDEBAR = 0x8;
public const int ABM_SETPOS = 0x3;
public const int ABM_WINDOWPOSCHANGED = 0x9;
public const int ABN_FULLSCREENAPP = 0x2;
public const int ABN_POSCHANGED = 0x1;
public const int ABN_STATECHANGE = 0x0;
public const int ABN_WINDOWARRANGE = 0x3;
public const int ABS_ALWAYSONTOP = 0x2;
public const int ABS_AUTOHIDE = 0x1;
public const int BI_RGB = 0;
public const int BIF_RETURNONLYFSDIRS = 0x0001;
public const int BIF_DONTGOBELOWDOMAIN = 0x0002;
public const int BIF_STATUSTEXT = 0x0004;
public const int BIF_RETURNFSANCESTORS = 0x0008;
public const int BIF_EDITBOX = 0x0010;
public const int BIF_VALIDATE = 0x0020;
public const int BIF_NEWDIALOGSTYLE = 0x0040;
public const int BIF_USENEWUI = (BIF_NEWDIALOGSTYLE | BIF_EDITBOX);
public const int BIF_BROWSEINCLUDEURLS = 0x0080;
public const int BIF_BROWSEFORCOMPUTER = 0x1000;
public const int BIF_BROWSEFORPRINTER = 0x2000;
public const int BIF_BROWSEINCLUDEFILES = 0x4000;
public const int BIF_SHAREABLE = 0x8000;
public const int CS_DROPSHADOW = 0x00020000;
public const int DIB_RGB_COLORS = 0;
public const int DT_SINGLELINE = 0x00000020;
public const int DT_CENTER = 0x00000001;
public const int DT_VCENTER = 0x00000004;
public const int DT_NOPREFIX = 0x00000800;
public const int DTT_COMPOSITED = (int)(1UL << 13);
public const int DTT_GLOWSIZE = (int)(1UL << 11);
public const int EIRESID = -1;
public const int FILE_ATTRIBUTE_DIRECTORY = 0x00000010;
public const int FILE_ATTRIBUTE_NORMAL = 0x00000080;
public const int FO_COPY = 0x2;
public const int FO_DELETE = 0x3;
public const int FO_MOVE = 0x1;
public const int FO_RENAME = 0x4;
public const int FOF_ALLOWUNDO = 0x40;
public const int FOF_CONFIRMMOUSE = 0x2;
public const int FOF_FILESONLY = 0x80;
public const int FOF_MULTIDESTFILES = 0x1;
public const int FOF_NOCONFIRMATION = 0x10;
public const int FOF_NOCONFIRMMKDIR = 0x200;
public const int FOF_RENAMEONCOLLISION = 0x8;
public const int FOF_SILENT = 0x4;
public const int FOF_SIMPLEPROGRESS = 0x100;
public const int FOF_WANTMAPPINGIntPtr = 0x20;
public const int GW_OWNER = 4;
public const int GWL_WNDPROC = (-4);
public const int GWL_HINSTANCE = (-6);
public const int GWL_HWNDPARENT = (-8);
public const int GWL_STYLE = (-16);
public const int GWL_EXSTYLE = (-20);
public const int GWL_USERDATA = (-21);
public const int GWL_ID = (-12);
public const int LWA_COLORKEY = 0x00000001;
public const int LWA_ALPHA = 0x00000002;
public const int MF_STRING = 0x00000000;
public const int MF_POPUP = 0x00000010;
public const int MF_BYCOMMAND = 0x00000000;
public const int MF_BYPOSITION = 0x00000400;
public const int MF_SEPARATOR = 0x00000800;
public const int NIF_ICON = 0x2;
public const int NIF_MESSAGE = 0x1;
public const int NIF_TIP = 0x4;
public const int NIM_ADD = 0x0;
public const int NIM_DELETE = 0x2;
public const int NIM_MODIFY = 0x1;
public const int PO_DELETE = 0x13;
public const int PO_PORTCHANGE = 0x20;
public const int PO_RENAME = 0x14;
public const int PO_REN_PORT = 0x34;
public const int PROCESSOR_INTEL_386 = 386;
public const int PROCESSOR_INTEL_486 = 486;
public const int PROCESSOR_INTEL_PENTIUM = 586;
public const int PROCESSOR_MIPS_R4000 = 4000;
public const int PROCESSOR_ALPHA_21064 = 21064;
public const int SRCCOPY = 0x00CC0020;
public const int SEE_MASK_CLASSKEY = 0x3;
public const int SEE_MASK_CLASSNAME = 0x1;
public const int SEE_MASK_CONNECTNETDRV = 0x80;
public const int SEE_MASK_DOENVSUBST = 0x200;
public const int SEE_MASK_FLAG_DDEWAIT = 0x100;
public const int SEE_MASK_FLAG_NO_UI = 0x400;
public const int SEE_MASK_HOTKEY = 0x20;
public const int SEE_MASK_ICON = 0x10;
public const int SEE_MASK_IDLIST = 0x4;
public const int SEE_MASK_INVOKEIDLIST = 0xC;
public const int SEE_MASK_NOCLOSEPROCESS = 0x40;
public const int SE_ERR_ACCESSDENIED = 5;
public const int SE_ERR_ASSOCINCOMPLETE = 27;
public const int SE_ERR_DDEBUSY = 30;
public const int SE_ERR_DDEFAIL = 29;
public const int SE_ERR_DDETIMEOUT = 28;
public const int SE_ERR_DLLNOTFOUND = 32;
public const int SE_ERR_FNF = 2;
public const int SE_ERR_NOASSOC = 31;
public const int SE_ERR_OOM = 8;
public const int SE_ERR_PNF = 3;
public const int SE_ERR_SHARE = 26;
public const int SHGFI_ATTRIBUTES = 0x800;
public const int SHGFI_DISPLAYNAME = 0x200;
public const int SHGFI_EXETYPE = 0x2000;
public const int SHGFI_ICON = 0x100;
public const int SHGFI_ICONLOCATION = 0x1000;
public const int SHGFI_LARGEICON = 0x0;
public const int SHGFI_LINKOVERLAY = 0x8000;
public const int SHGFI_OPENICON = 0x2;
public const int SHGFI_PIDL = 0x8;
public const int SHGFI_SELECTED = 0x10000;
public const int SHGFI_SHELLICONSIZE = 0x4;
public const int SHGFI_SMALLICON = 0x1;
public const int SHGFI_SYSICONINDEX = 0x4000;
public const int SHGFI_TYPENAME = 0x400;
public const int SHGFI_USEFILEATTRIBUTES = 0x10;
public const int SHGFI_ATTR_SPECIFIED = 0x000020000;
public const int SHGFI_ADDOVERLAYS = 0x000000020;
public const int SHGFI_OVERLAYINDEX = 0x000000040;
public const int SHGNLI_PIDL = 0x1;
public const int SHGNLI_PREFIXNAME = 0x2;
public const byte VK_SHIFT = 0x10;
public const byte VK_CAPITAL = 0x14;
public const byte VK_NUMLOCK = 0x90;
public const int WM_CREATE = 0x0001;
public const int WM_DESTROY = 0x0002;
public const int WM_MOVE = 0x0003;
public const int WM_SIZE = 0x0005;
public const int WM_ACTIVATE = 0x0006;
public const int WM_COMMAND = 0x0111;
public const int WM_SYSCOMMAND = 0x0112;
public const int WM_MENUCOMMAND = 0x0126;
public const int WM_MENUSELECT = 0x011F;
public const int WM_MOUSEFIRST = 0x0200;
public const int WM_MOUSEMOVE = 0x0200;
public const int WM_LBUTTONDOWN = 0x0201;
public const int WM_LBUTTONUP = 0x0202;
public const int WM_LBUTTONDBLCLK = 0x0203;
public const int WM_RBUTTONDOWN = 0x0204;
public const int WM_RBUTTONUP = 0x0205;
public const int WM_RBUTTONDBLCLK = 0x0206;
public const int WM_MBUTTONDOWN = 0x0207;
public const int WM_MBUTTONUP = 0x0208;
public const int WM_MBUTTONDBLCLK = 0x0209;
public const int WM_MOUSEWHEEL = 0x020A;
public const int WM_XBUTTONDOWN = 0x020B;
public const int WM_XBUTTONUP = 0x020C;
public const int WM_XBUTTONDBLCLK = 0x020D;
public const int WM_MOUSELAST = 0x020D;
public const int WM_KEYDOWN = 0x100;
public const int WM_KEYUP = 0x101;
public const int WM_SYSKEYDOWN = 0x104;
public const int WM_SYSKEYUP = 0x105;
public const int WH_MOUSE_LL = 14;
public const int WH_KEYBOARD_LL = 13;
public const int WH_MOUSE = 7;
public const int WH_KEYBOARD = 2;
public const int WM_NCLBUTTONUP = 0x00A2;
public const int WM_ERASEBKGND = 0x14;
public const int WM_NCCALCSIZE = 0x83;
public const int WM_NCHITTEST = 0x84;
public const int WM_NCMOUSEMOVE = 0x00A0;
public const int WM_NCMOUSELEAVE = 0x2a2;
public const int WS_CHILD = 0x40000000;
public const int WS_EX_LAYERED = 0x00080000;
#endregion
#region user32.dll
[DllImport("user32")]
public static extern int CreateCaret(IntPtr IntPtr, IntPtr hBitmap, int nWidth,
int nHeight);
[DllImport("user32")]
public static extern int CreateCursor(IntPtr hInstance, int nXhotspot,
int nYhotspot, int nWidth, int nHeight, IntPtr lpANDbitPlane,
IntPtr lpXORbitPlane);
[DllImport("user32")]
public static extern int CreateDesktop(string lpszDesktop, string lpszDevice,
ref DEVMODE pDevmode, int dwFlags, int dwDesiredAccess,
ref SECURITY_ATTRIBUTES lpsa);
[DllImport("user32")]
public static extern int CreateDialogIndirectParam(IntPtr hInstance,
ref DLGTEMPLATE lpTemplate, IntPtr IntPtrParent, ref int lpDialogFunc,
int dwInitParam);
[DllImport("user32")]
public static extern int CreateDialogParam(IntPtr hInstance, string lpName,
IntPtr IntPtrParent, ref int lpDialogFunc, int lParamInit);
[DllImport("user32")]
public static extern int CreateIcon(IntPtr hInstance, int nWidth, int nHeight,
Byte nPlanes, Byte nBitsPixel, Byte lpANDbits, Byte lpXORbits);
[DllImport("user32")]
public static extern int CreateIconFromResource(Byte presbits, int dwResSize,
int fIcon, int dwVer);
[DllImport("user32")]
public static extern int CreateIconIndirect(ref ICONINFO piconinfo);
[DllImport("user32")]
public static extern int CreateMDIWindow(string lpClassName, string lpWindowName,
int dwStyle, int x, int y, int nWidth, int nHeight, IntPtr IntPtrParent,
IntPtr hInstance, int lParam);
[DllImport("user32")]
public static extern int CreateMenu();
[DllImport("user32")]
public static extern int CreatePopupMenu();
[DllImport("user32")]
public static extern int DestroyCaret();
[DllImport("user32")]
public static extern int DestroyCursor(IntPtr hCursor);
[DllImport("user32")]
public static extern int DestroyIcon(IntPtr hIcon);
[DllImport("user32")]
public static extern int DestroyMenu(IntPtr hMenu);
[DllImport("user32")]
public static extern int DestroyWindow(IntPtr IntPtr);
[DllImport("user32")]
public static extern int DrawAnimatedRects(IntPtr IntPtr, int idAni,
ref RECT lprcFrom, ref RECT lprcTo);
[DllImport("user32")]
public static extern int DrawCaption(IntPtr IntPtr, IntPtr hdc,
ref RECT pcRect, int un);
[DllImport("user32")]
public static extern int DrawEdge(IntPtr hdc, ref RECT qrc, int edge, int grfFlags);
[DllImport("user32")]
public static extern int DrawFocusRect(IntPtr hdc, ref RECT lpRect);
[DllImport("user32")]
public static extern int DrawFrameControl(IntPtr hdc, ref RECT lpRect, int un1,
int un2);
[DllImport("user32")]
public static extern int DrawIcon(IntPtr hdc, int x, int y, IntPtr hIcon);
[DllImport("user32")]
public static extern int DrawIconEx(IntPtr hdc, int xLeft, int yTop, IntPtr hIcon,
int cxWidth, int cyWidth, int istepIfAniCur, IntPtr hbrFlickerFreeDraw,
int diFlags);
[DllImport("user32")]
public static extern int DrawMenuBar(IntPtr IntPtr);
[DllImport("user32")]
public static extern int DrawState(IntPtr hdc, IntPtr hBrush,
ref int lpDrawStateProc, int lParam, int wParam, int n1,
int n2, int n3, int n4, int un);
[DllImport("user32")]
public static extern int DrawText(IntPtr hdc, string lpStr, int nCount,
ref RECT lpRect, int wFormat);
[DllImport("user32")]
public static extern int DrawTextEx(IntPtr hdc, string lpsz, int n,
ref RECT lpRect, int un, ref DRAWTEXTPARAMS lpDrawTextParams);
[DllImport("user32.dll")]
public static extern Int32 SendMessage(IntPtr pWnd,
UInt32 uMsg, UInt32 wParam, IntPtr lParam);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern bool AnimateWindow(IntPtr IntPtr,
uint dwTime, uint dwFlags);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern IntPtr BeginPaint(IntPtr IntPtr,
ref PAINTSTRUCT ps);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern bool ClientToScreen(IntPtr IntPtr,
ref POINT pt);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern bool DispatchMessage(ref MSG msg);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern bool EndPaint(IntPtr IntPtr,
ref PAINTSTRUCT ps);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern IntPtr GetDC(IntPtr IntPtr);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern IntPtr GetFocus();
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern ushort GetKeyState(int virtKey);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern bool GetMessage(ref MSG msg,
int IntPtr, uint wFilterMin, uint wFilterMax);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern IntPtr GetParent(IntPtr IntPtr);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern int GetWindowLong(IntPtr IntPtr,
int nIndex);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern bool GetWindowRect(IntPtr IntPtr,
ref RECT rect);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern bool HideCaret(IntPtr IntPtr);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern bool InvalidateRect(IntPtr IntPtr,
ref RECT rect, bool erase);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern IntPtr LoadCursor(IntPtr hInstance,
uint cursor);
[DllImport("user32")]
public static extern int ExitWindows(int dwReserved, int uReturnCode);
[DllImport("user32")]
public static extern int ExitWindowsEx(int uFlags, int dwReserved);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern bool MoveWindow(IntPtr IntPtr,
int x, int y, int width, int height, bool repaint);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern bool PeekMessage(ref MSG msg,
int IntPtr, uint wFilterMin, uint wFilterMax, uint wFlag);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern bool PostMessage(IntPtr IntPtr,
int Msg, uint wParam, uint lParam);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern bool ReleaseCapture();
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern int ReleaseDC(IntPtr IntPtr, IntPtr hDC);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern bool ScreenToClient(IntPtr IntPtr,
ref POINT pt);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern uint SendMessage(IntPtr IntPtr,
int Msg, uint wParam, uint lParam);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern IntPtr SetCursor(IntPtr hCursor);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern IntPtr SetFocus(IntPtr IntPtr);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern int SetWindowLong(IntPtr IntPtr,
int nIndex, int newLong);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern int SetWindowPos(IntPtr IntPtr,
IntPtr IntPtrAfter, int x, int y, int width,
int height, uint flags);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern bool SetWindowRgn(IntPtr IntPtr,
IntPtr hRgn, bool redraw);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern bool ShowCaret(IntPtr IntPtr);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern int ShowWindow(IntPtr IntPtr,
short cmdShow);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern bool SystemParametersInfo
(uint uiAction, uint uiParam, ref int bRetValue,
uint fWinINI);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern bool TrackMouseEvent
(ref TRACKMOUSEEVENTS tme);
[DllImport("user32")]
public static extern int CopyCursor(IntPtr hcur);
[DllImport("user32")]
public static extern int CopyIcon(IntPtr hIcon);
[DllImport("user32")]
public static extern int CopyImage(IntPtr IntPtr, int un1, int n1, int n2, int un2);
[DllImport("user32")]
public static extern int CopyRect(ref RECT lpDestRect, ref RECT lpSourceRect);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern bool TranslateMessage(ref MSG msg);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern bool UpdateLayeredWindow
(IntPtr IntPtr, IntPtr hdcDst, ref POINT pptDst,
ref SIZE psize, IntPtr hdcSrc, ref POINT pprSrc,
int crKey, ref BLENDFUNCTION pblend, int dwFlags);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern bool UpdateWindow(IntPtr IntPtr);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern bool WaitMessage();
[DllImport("user32.dll")]
public static extern int AdjustWindowRect(ref RECT lpRect, int dwStyle,
int bMenu);
[DllImport("user32.dll")]
public static extern int AdjustWindowRectEx(ref RECT lpRect, int dsStyle,
int bMenu, int dwEsStyle);
[DllImport("user32.dll")]
public static extern int BringWindowToTop(IntPtr IntPtr);
[DllImport("user32.dll")]
public static extern IntPtr CreateWindowEx(uint dwExStyle, string lpClassName,
string lpWindowName, uint dwStyle, int x, int y, int nWidth, int nHeight,
IntPtr IntPtrParent, IntPtr hMenu, IntPtr hInstance, IntPtr lpParam);
[DllImport("user32.dll")]
public static extern int FillRect(IntPtr hDC, ref RECT rect, IntPtr hBrush);
[DllImport("user32.dll")]
public static extern UInt16 GetAsyncKeyState(int vKey);
[DllImport("user32.dll")]
public static extern IntPtr GetDesktopWindow();
[DllImport("user32.dll")]
public static extern uint GetTabbedTextExtent(IntPtr hDC, string lpString,
int nCount, int nTabPositions, ref int lpnTabStopPositions);
[DllImport("user32.dll")]
public static extern IntPtr GetWindowDC(IntPtr IntPtr);
[DllImport("user32.dll")]
public static extern int InvertRect(IntPtr hDC, ref RECT rect);
[DllImport("user32.dll")]
public static extern int SendMessage(IntPtr IntPtr, int msg, int wParam,
LogFont lParam);
[DllImport("user32.dll")]
public static extern int SendMessage(IntPtr IntPtr, int msg, int wParam,
COMPOSITIONFORM lParam);
[DllImport("user32.dll")]
public static extern int SendMessage(IntPtr IntPtr, int message,
int WParam, int LParam);
[DllImport("user32.dll")]
public static extern int TabbedTextOut(IntPtr hDC, int x, int y, string lpString,
int nCount, int nTabPositions, ref int lpnTabStopPositions, int nTabOrigin);
[DllImport("user32.dll")]
public static extern IntPtr WindowFromDC(int hdc);
[DllImport("user32")]
public static extern int CloseClipboard();
[DllImport("user32")]
public static extern int CloseDesktop(IntPtr hDesktop);
[DllImport("user32")]
public static extern int CloseWindow(IntPtr IntPtr);
[DllImport("user32")]
public static extern int CloseWindowStation(IntPtr hWinSta);
[DllImport("user32")]
public static extern int EnableMenuItem(IntPtr hMenu, int wIDEnableItem,
int wEnable);
[DllImport("user32")]
public static extern int EnableScrollBar(IntPtr IntPtr, int wSBflags, int wArrows);
[DllImport("user32")]
public static extern int EnableWindow(IntPtr IntPtr, int fEnable);
[DllImport("user32")]
public static extern int FindWindow(string lpClassName, string lpWindowName);
[DllImport("user32")]
public static extern int FindWindowEx(IntPtr IntPtr1, IntPtr IntPtr2, string lpsz1,
string lpsz2);
[DllImport("user32")]
public static extern int FlashWindow(IntPtr IntPtr, int bInvert);
[DllImport("user32")]
public static extern int GetActiveWindow();
[DllImport("user32")]
public static extern int GetClientRect(IntPtr IntPtr, ref RECT lpRect);
[DllImport("user32")]
public static extern int GetClipCursor(out RECT lprc);
[DllImport("user32")]
public static extern int GetClipboardData(int wFormat);
[DllImport("user32")]
public static extern int GetClipboardFormatName(int wFormat, string lpString,
int nMaxCount);
[DllImport("user32")]
public static extern int GetClipboardOwner();
[DllImport("user32")]
public static extern int GetClipboardViewer();
[DllImport("user32")]
public static extern int GetCursor();
[DllImport("user32")]
public static extern int GetCursorPos(out POINT lpPoint);
[DllImport("user32")]
public static extern int GetCapture();
[DllImport("user32")]
public static extern int GetCaretBlinkTime();
[DllImport("user32")]
public static extern int GetCaretPos(ref POINT lpPoint);
[DllImport("user32")]
public static extern int GetScrollInfo(IntPtr IntPtr, int n,
ref SCROLLINFO lpScrollInfo);
[DllImport("user32")]
public static extern int GetScrollPos(IntPtr IntPtr, int nBar);
[DllImport("user32")]
public static extern int GetScrollRange(IntPtr IntPtr, int nBar, ref int lpMinPos,
ref int lpMaxPos);
[DllImport("user32")]
public static extern int LoadBitmap(IntPtr hInstance, string lpBitmapName);
[DllImport("user32")]
public static extern int LoadCursor(IntPtr hInstance, string lpCursorName);
[DllImport("user32")]
public static extern int LoadCursorFromFile(string lpFileName);
[DllImport("user32")]
public static extern int LoadIcon(IntPtr hInstance, string lpIconName);
[DllImport("user32")]
public static extern int LoadImage(IntPtr hInst, string lpsz, int un1, int n1,
int n2, int un2);
[DllImport("user32")]
public static extern int LoadKeyboardLayout(string pwszKLID, int flags);
[DllImport("user32")]
public static extern int LoadMenu(IntPtr hInstance, string lpString);
[DllImport("user32")]
public static extern int LoadMenuIndirect(int lpMenuTemplate);
[DllImport("user32")]
public static extern int LoadString(IntPtr hInstance, int wID, string lpBuffer,
int nBufferMax);
[DllImport("user32")]
public static extern int LockWindowUpdate(IntPtr IntPtrLock);
[DllImport("user32")]
public static extern int MessageBeep(int wType);
[DllImport("user32")]
public static extern int MessageBox(IntPtr IntPtr, string lpText, string lpCaption,
int wType);
[DllImport("user32")]
public static extern int MessageBoxEx(IntPtr IntPtr, string lpText, string lpCaption,
int uType, int wLanguageId);
[DllImport("user32")]
public static extern int MoveWindow(IntPtr IntPtr, int x, int y, int nWidth,
int nHeight, int bRepaint);
[DllImport("user32")]
public static extern int ScrollDC(IntPtr hdc, int dx, int dy, ref RECT lprcScroll,
ref RECT lprcClip, IntPtr hrgnUpdate, ref RECT lprcUpdate);
[DllImport("user32")]
public static extern int ScrollWindow(IntPtr IntPtr, int XAmount, int YAmount,
ref RECT lpRect, ref RECT lpClipRect);
[DllImport("user32")]
public static extern int ScrollWindowEx(IntPtr IntPtr, int dx, int dy,
ref RECT lprcScroll, ref RECT lprcClip, IntPtr hrgnUpdate,
ref RECT lprcUpdate, int fuScroll);
[DllImport("user32")]
public static extern int SetCursorPos(int x, int y);
[DllImport("user32")]
public static extern int SetActiveWindow(IntPtr IntPtr);
[DllImport("user32")]
public static extern int SetCapture(IntPtr IntPtr);
[DllImport("user32")]
public static extern int SetCaretBlinkTime(int wMSeconds);
[DllImport("user32")]
public static extern int SetCaretPos(int x, int y);
[DllImport("user32")]
public static extern int SetScrollPos(IntPtr IntPtr, int nBar, int nPos, int bRedraw);
[DllImport("user32")]
public static extern int ShowCursor(int bShow);
[DllImport("user32")]
public static extern int ShowScrollBar(IntPtr IntPtr, int wBar, int bShow);
[DllImport("user32")]
public static extern int ShowWindow(IntPtr IntPtr, int nCmdShow);
[DllImport("user32")]
public static extern int ShowWindowAsync(IntPtr IntPtr, int nCmdShow);
[DllImport("user32")]
public static extern void PostQuitMessage(int nExitCode);
[DllImport("user32")]
public static extern void mouse_event(int dwFlags, int dx, int dy, int cButtons,
int dwExtraInfo);
[DllImport("user32")]
public static extern void SetLastErrorEx(int dwErrCode, int dwType);
#endregion
#region gdi32.dll
[DllImport("gdi32.dll")]
public static extern int SetDIBits
(IntPtr hdc, IntPtr hBitmap, int nStartScan,
int nNumScans, IntPtr lpBits, IntPtr lpBI,
int wUsage);
[DllImport("gdi32.dll")]
public static extern int SetDIBitsToDevice
(IntPtr hdc, int x, int y, int dx, int dy,
int SrcX, int SrcY, int Scan, int NumScans,
IntPtr Bits, IntPtr BitsInfo, int wUsage);
[DllImport("gdi32.dll")]
public static extern IntPtr CreateDIBSection
(IntPtr hdc, IntPtr pBitmapInfo, int un,
IntPtr lplpVoid, IntPtr IntPtr, int dw);
[DllImport("gdi32.dll", CharSet = CharSet.Auto)]
public static extern int SetPixel(IntPtr hdc,
int x, int y, int crColor);
[DllImport("gdi32.dll", CharSet = CharSet.Auto)]
public static extern int GetPixel
(IntPtr hdc, int x, int y);
[DllImport("gdi32.dll", CharSet = CharSet.Auto)]
public static extern int CombineRgn(IntPtr dest,
IntPtr src1, IntPtr src2, int flags);
[DllImport("gdi32.dll", CharSet = CharSet.Auto)]
public static extern IntPtr CreateBrushIndirect
(ref LOGBRUSH brush);
[DllImport("gdi32.dll", CharSet = CharSet.Auto)]
public static extern IntPtr CreateRectRgnIndirect
(ref RECT rect);
[DllImport("gdi32.dll", CharSet = CharSet.Auto)]
public static extern int GetClipBox(IntPtr hDC,
ref RECT rectBox);
[DllImport("gdi32.dll", CharSet = CharSet.Auto)]
public static extern bool PatBlt(IntPtr hDC,
int x, int y, int width, int height, uint flags);
[DllImport("gdi32.dll", CharSet = CharSet.Auto)]
public static extern int SelectClipRgn(IntPtr hDC,
IntPtr hRgn);
[DllImport("gdi32.dll", CharSet = CharSet.Auto,
CallingConvention = CallingConvention.StdCall,
SetLastError = true)]
public static extern IntPtr MoveToEx(IntPtr hDC,
int x, int y, ref POINT lpPoint);
[DllImport("gdi32.dll", CharSet = CharSet.Auto,
CallingConvention = CallingConvention.StdCall,
SetLastError = true)]
public static extern IntPtr LineTo(IntPtr hDC,
int x, int y);
[DllImport("gdi32.dll", CharSet = CharSet.Auto,
CallingConvention = CallingConvention.StdCall,
SetLastError = true)]
public static extern IntPtr CreatePen(int nPenStyle,
int nWidth, int crColor);
[DllImport("gdi32.dll", CharSet = CharSet.Auto,
CallingConvention = CallingConvention.StdCall,
SetLastError = true)]
public static extern int SetBrushOrgEx(IntPtr hDC,
int x, int y, ref POINT p);
[DllImport("gdi32.dll", CharSet = CharSet.Auto,
CallingConvention = CallingConvention.StdCall,
SetLastError = true)]
public static extern IntPtr CreatePatternBrush
(IntPtr hBMP);
[DllImport("gdi32.dll", CharSet = CharSet.Auto,
CallingConvention = CallingConvention.StdCall,
SetLastError = true)]
public static extern int GetTextFace(IntPtr hDC,
int nCount, string lpFacename);
[DllImport("gdi32.dll", CharSet = CharSet.Auto,
CallingConvention = CallingConvention.StdCall,
SetLastError = true)]
public static extern int GetTextMetrics(IntPtr hDC,
ref GDITextMetric TextMetric);
[DllImport("gdi32.dll", CharSet = CharSet.Ansi,
CallingConvention = CallingConvention.StdCall,
SetLastError = true)]
public static extern IntPtr CreateFontIndirect
([MarshalAs(UnmanagedType.LPStruct)]LogFont LogFont);
[DllImport("gdi32.dll", SetLastError = true,
CharSet = CharSet.Auto, CallingConvention =
CallingConvention.StdCall)]
public static extern int BitBlt(IntPtr hDestDC,
int x, int y, int nWidth, int nHeight,
IntPtr hSrcDC, int xSrc, int ySrc, int dwRop);
[DllImport("gdi32.dll", CharSet = CharSet.Auto,
CallingConvention = CallingConvention.StdCall,
SetLastError = true)]
public static extern IntPtr CreateSolidBrush
(int crColor);
[DllImport("gdi32.dll", CharSet = CharSet.Auto,
CallingConvention = CallingConvention.StdCall,
SetLastError = true)]
public static extern int Rectangle(IntPtr hDC,
int left, int top, int right, int bottom);
[DllImport("gdi32.dll", CharSet = CharSet.Auto,
CallingConvention = CallingConvention.StdCall,
SetLastError = true)]
public static extern IntPtr CreateHatchBrush
(int Style, int crColor);
[DllImport("gdi32.dll", CharSet = CharSet.Auto,
CallingConvention = CallingConvention.StdCall,
SetLastError = true)]
public static extern IntPtr CreateCompatibleBitmap
(IntPtr hDC, int nWidth, int nHeight);
[DllImport("gdi32.dll", CharSet = CharSet.Auto,
CallingConvention = CallingConvention.StdCall,
SetLastError = true)]
public static extern IntPtr CreateCompatibleDC
(IntPtr hDC);
[DllImport("gdi32.dll", CharSet = CharSet.Auto,
CallingConvention = CallingConvention.StdCall,
SetLastError = true)]
public static extern IntPtr SelectObject
(IntPtr hDC, IntPtr hObject);
[DllImport("gdi32.dll", CharSet = CharSet.Auto,
CallingConvention = CallingConvention.StdCall,
SetLastError = true)]
public static extern IntPtr DeleteObject
(IntPtr hObject);
[DllImport("gdi32.dll", SetLastError = true,
CharSet = CharSet.Auto, CallingConvention =
CallingConvention.StdCall)]
public static extern int GetTextColor(IntPtr hDC);
[DllImport("gdi32.dll", SetLastError = true,
CharSet = CharSet.Auto, CallingConvention =
CallingConvention.StdCall)]
public static extern int SetTextColor
(IntPtr hDC, int crColor);
[DllImport("gdi32.dll", SetLastError = true,
CharSet = CharSet.Auto, CallingConvention =
CallingConvention.StdCall)]
public static extern int GetBkColor(IntPtr hDC);
[DllImport("gdi32.dll", SetLastError = true,
CharSet = CharSet.Auto, CallingConvention =
CallingConvention.StdCall)]
public static extern int GetBkMode(IntPtr hDC);
[DllImport("gdi32.dll", CharSet = CharSet.Auto,
CallingConvention = CallingConvention.StdCall,
SetLastError = true)]
public static extern IntPtr DeleteDC(IntPtr hDC);
[DllImport("gdi32.dll", SetLastError = true,
CharSet = CharSet.Auto, CallingConvention =
CallingConvention.StdCall)]
public static extern int SetBkColor
(IntPtr hDC, int crColor);
[DllImport("gdi32.dll", SetLastError = true,
CharSet = CharSet.Auto, CallingConvention =
CallingConvention.StdCall)]
public static extern int SetBkMode
(IntPtr hDC, int Mode);
[DllImport("gdi32.dll", CharSet = CharSet.Auto,
CallingConvention = CallingConvention.StdCall,
SetLastError = true)]
public static extern int GdiFlush();
[DllImport("gdi32.dll", SetLastError = true,
CharSet = CharSet.Ansi, CallingConvention =
CallingConvention.StdCall)]
public static extern int EnumFontFamiliesEx
(IntPtr hDC, [MarshalAs(UnmanagedType.LPStruct)]
LogFont lf, FONTENUMPROC proc, Int64 LParam,
Int64 DW);
[DllImport("gdi32.dll", EntryPoint = "GdiAlphaBlend")]
public static extern bool AlphaBlend(
IntPtr hdcDest, // IntPtr to destination DC.
int nXOriginDest, // X-coord of upper-left corner.
int nYOriginDest, // Y-coord of upper-left corner.
int nWidthDest, // Destination width.
int nHeightDest, // Destination height.
IntPtr hdcSrc, // IntPtr to source DC.
int nXOriginSrc, // X-coord of upper-left corner.
int nYOriginSrc, // Y-coord of upper-left corner.
int nWidthSrc, // Source width.
int nHeightSrc, // Source height.
BLENDFUNCTION blendFunction // Alpha-blending function.
);
#endregion
#region kernel32.dll
[DllImport("kernel32")]
static extern void GetSystemInfo(ref SYSTEM_INFO pSI);
[DllImport("kernel32")]
static extern void GlobalMemoryStatus(ref MEMORYSTATUS buf);
#endregion
#region shell32.dll
[DllImport("shell32")]
public static extern int CommandLineToArgv
(string lpCmdLine, short pNumArgs);
[DllImport("shell32")]
public static extern int DoEnvironmentSubst
(string szString, int cbString);
[DllImport("shell32")]
public static extern int DragQueryFile
(IntPtr hDROP, int UINT, string lpStr, int ch);
[DllImport("shell32")]
public static extern int DragQueryPoint
(IntPtr hDROP, ref POINT lpPoint);
[DllImport("shell32")]
public static extern int DuplicateIcon
(IntPtr hInst, IntPtr hIcon);
[DllImport("shell32")]
public static extern int ExtractAssociatedIcon
(IntPtr hInst, string lpIconPath, ref int lpiIcon);
[DllImport("shell32")]
public static extern int ExtractIcon
(IntPtr hInst, string lpszExeFileName, int nIconIndex);
[DllImport("shell32")]
public static extern int ExtractIconEx
(string lpszFile, int nIconIndex, ref int phiconLarge,
ref int phiconSmall, int nIcons);
[DllImport("shell32")]
public static extern int FindExecutable
(string lpFile, string lpDirectory,
string lpResult);
[DllImport("shell32")]
public static extern int SHAppBarMessage
(int dwMessage, ref APPBARDATA pData);
[DllImport("shell32")]
public static extern int SHFileOperation
(ref SHFILEOPSTRUCT lpFileOp);
[DllImport("shell32")]
public static extern int SHGetFileInfo
(string pszPath, int dwFileAttributes,
ref SHFILEINFO psfi, int cbFileInfo, int uFlags);
[DllImport("shell32")]
public static extern int SHGetNewLinkInfo
(string pszLinkto, string pszDir, string pszName,
ref int pfMustCopy, int uFlags);
[DllImport("shell32")]
public static extern int ShellAbout
(IntPtr IntPtr, string szApp, string szOtherStuff,
IntPtr hIcon);
[DllImport("shell32")]
public static extern int ShellExecute
(IntPtr IntPtr, string lpOperation, string lpFile,
string lpParameters, string lpDirectory,
int nShowCmd);
[DllImport("shell32")]
public static extern int Shell_NotifyIcon
(int dwMessage, ref NOTIFYICONDATA lpData);
[DllImport("shell32")]
public static extern void DragAcceptFiles
(IntPtr IntPtr, int fAccept);
[DllImport("shell32")]
public static extern void DragFinish(IntPtr hDrop);
[DllImport("shell32")]
public static extern void SHFreeNameMappings
(IntPtr hNameMappings);
[DllImport("shell32")]
public static extern void WinExecError
(IntPtr IntPtr, int error, string lpstrFileName,
string lpstrTitle);
[DllImport("shell32")]
public static extern int SHBrowseForFolder
(BROWSEINFO lpbi);
[DllImport("shell32")]
public static extern int SHGetPathFromIDList
(int pidList, string lpBuffer);
[DllImport("Shell32.dll")]
public static extern IntPtr SHGetFileInfo(
string pszPath,
uint dwFileAttributes,
ref SHFILEINFO psfi,
uint cbFileInfo,
uint uFlags
);
#endregion
#region Errors
public static int CACHE_E_FIRST = unchecked((int)0x80040170);
public static int CACHE_E_LAST = unchecked((int)0x8004017F);
public static int CACHE_E_NOCACHE_UPDATED = unchecked((int)0x80040170);
public static int CACHE_S_FIRST = 0x40170;
public static int CACHE_S_FORMATETC_NOTSUPPORTED = 0x40170;
public static int CACHE_S_LAST = 0x4017F;
public static int CACHE_S_SAMECACHE = 0x40171;
public static int CACHE_S_SOMECACHES_NOTUPDATED = 0x40172;
public static int CLASSFACTORY_E_FIRST = unchecked((int)0x80040110);
public static int CLASSFACTORY_E_LAST = unchecked((int)0x8004011F);
public static int CLASSFACTORY_S_FIRST = 0x40110;
public static int CLASSFACTORY_S_LAST = 0x4011F;
public static int CLASS_E_CLASSNOTAVAILABLE = unchecked((int)0x80040111);
public static int CLASS_E_NOAGGREGATION = unchecked((int)0x80040110);
public static int CLIENTSITE_E_FIRST = unchecked((int)0x80040190);
public static int CLIENTSITE_E_LAST = unchecked((int)0x8004019F);
public static int CLIENTSITE_S_FIRST = 0x40190;
public static int CLIENTSITE_S_LAST = 0x4019F;
public static int CLIPBRD_E_BAD_DATA = unchecked((int)0x800401D3);
public static int CLIPBRD_E_CANT_CLOSE = unchecked((int)0x800401D4);
public static int CLIPBRD_E_CANT_EMPTY = unchecked((int)0x800401D1);
public static int CLIPBRD_E_CANT_OPEN = unchecked((int)0x800401D0);
public static int CLIPBRD_E_CANT_SET = unchecked((int)0x800401D2);
public static int CLIPBRD_E_FIRST = unchecked((int)0x800401D0);
public static int CLIPBRD_E_LAST = unchecked((int)0x800401DF);
public static int CLIPBRD_S_FIRST = 0x401D0;
public static int CLIPBRD_S_LAST = 0x401DF;
public static int CONVERT10_E_FIRST = unchecked((int)0x800401C0);
public static int CONVERT10_E_LAST = unchecked((int)0x800401CF);
public static int CONVERT10_E_OLESTREAM_BITMAP_TO_DIB = unchecked((int)0x800401C3);
public static int CONVERT10_E_OLESTREAM_FMT = unchecked((int)0x800401C2);
public static int CONVERT10_E_OLESTREAM_GET = unchecked((int)0x800401C0);
public static int CONVERT10_E_OLESTREAM_PUT = unchecked((int)0x800401C1);
public static int CONVERT10_E_STG_DIB_TO_BITMAP = unchecked((int)0x800401C6);
public static int CONVERT10_E_STG_FMT = unchecked((int)0x800401C4);
public static int CONVERT10_E_STG_NO_STD_STREAM = unchecked((int)0x800401C5);
public static int CONVERT10_S_FIRST = 0x401C0;
public static int CONVERT10_S_LAST = 0x401CF;
public static int CONVERT10_S_NO_PRESENTATION = 0x401C0;
public static int CO_E_ALREADYINITIALIZED = unchecked((int)0x800401F1);
public static int CO_E_APPDIDNTREG = unchecked((int)0x800401FE);
public static int CO_E_APPNOTFOUND = unchecked((int)0x800401F5);
public static int CO_E_APPSINGLEUSE = unchecked((int)0x800401F6);
public static int CO_E_BAD_PATH = unchecked((int)0x80080004);
public static int CO_E_CANTDETERMINECLASS = unchecked((int)0x800401F2);
public static int CO_E_CLASSSTRING = unchecked((int)0x800401F3);
public static int CO_E_CLASS_CREATE_FAILED = unchecked((int)0x80080001);
public static int CO_E_DLLNOTFOUND = unchecked((int)0x800401F8);
public static int CO_E_ERRORINAPP = unchecked((int)0x800401F7);
public static int CO_E_ERRORINDLL = unchecked((int)0x800401F9);
public static int CO_E_FIRST = unchecked((int)0x800401F0);
public static int CO_E_IIDSTRING = unchecked((int)0x800401F4);
public static int CO_E_INIT_CLASS_CACHE = unchecked((int)0x80004009);
public static int CO_E_INIT_MEMORY_ALLOCATOR = unchecked((int)0x80004008);
public static int CO_E_INIT_ONLY_SINGLE_THREADED = unchecked((int)0x80004012);
public static int CO_E_INIT_RPC_CHANNEL = unchecked((int)0x8000400A);
public static int CO_E_INIT_SCM_EXEC_FAILURE = unchecked((int)0x80004011);
public static int CO_E_INIT_SCM_FILE_MAPPING_EXISTS = unchecked((int)0x8000400F);
public static int CO_E_INIT_SCM_MAP_VIEW_OF_FILE = unchecked((int)0x80004010);
public static int CO_E_INIT_SCM_MUTEX_EXISTS = unchecked((int)0x8000400E);
public static int CO_E_INIT_SHARED_ALLOCATOR = unchecked((int)0x80004007);
public static int CO_E_INIT_TLS = unchecked((int)0x80004006);
public static int CO_E_INIT_TLS_CHANNEL_CONTROL = unchecked((int)0x8000400C);
public static int CO_E_INIT_TLS_SET_CHANNEL_CONTROL = unchecked((int)0x8000400B);
public static int CO_E_INIT_UNACCEPTED_USER_ALLOCATOR = unchecked((int)0x8000400D);
public static int CO_E_LAST = unchecked((int)0x800401FF);
public static int CO_E_NOTINITIALIZED = unchecked((int)0x800401F0);
public static int CO_E_OBJISREG = unchecked((int)0x800401FC);
public static int CO_E_OBJNOTCONNECTED = unchecked((int)0x800401FD);
public static int CO_E_OBJNOTREG = unchecked((int)0x800401FB);
public static int CO_E_OBJSRV_RPC_FAILURE = unchecked((int)0x80080006);
public static int CO_E_RELEASED = unchecked((int)0x800401FF);
public static int CO_E_SCM_ERROR = unchecked((int)0x80080002);
public static int CO_E_SCM_RPC_FAILURE = unchecked((int)0x80080003);
public static int CO_E_SERVER_EXEC_FAILURE = unchecked((int)0x80080005);
public static int CO_E_SERVER_STOPPING = unchecked((int)0x80080008);
public static int CO_E_WRONGOSFORAPP = unchecked((int)0x800401FA);
public static int CO_S_FIRST = 0x401F0;
public static int CO_S_LAST = 0x401FF;
public static int DATA_E_FIRST = unchecked((int)0x80040130);
public static int DATA_E_LAST = unchecked((int)0x8004013F);
public static int DATA_S_FIRST = 0x40130;
public static int DATA_S_LAST = 0x4013F;
public static int DATA_S_SAMEFORMATETC = 0x40130;
public static int DISP_E_ARRAYISLOCKED = unchecked((int)0x8002000D);
public static int DISP_E_BADCALLEE = unchecked((int)0x80020010);
public static int DISP_E_BADINDEX = unchecked((int)0x8002000B);
public static int DISP_E_BADPARAMCOUNT = unchecked((int)0x8002000E);
public static int DISP_E_BADVARTYPE = unchecked((int)0x80020008);
public static int DISP_E_EXCEPTION = unchecked((int)0x80020009);
public static int DISP_E_MEMBERNOTFOUND = unchecked((int)0x80020003);
public static int DISP_E_NONAMEDARGS = unchecked((int)0x80020007);
public static int DISP_E_NOTACOLLECTION = unchecked((int)0x80020011);
public static int DISP_E_OVERFLOW = unchecked((int)0x8002000A);
public static int DISP_E_PARAMNOTFOUND = unchecked((int)0x80020004);
public static int DISP_E_PARAMNOTOPTIONAL = unchecked((int)0x8002000F);
public static int DISP_E_TYPEMISMATCH = unchecked((int)0x80020005);
public static int DISP_E_UNKNOWNINTERFACE = unchecked((int)0x80020001);
public static int DISP_E_UNKNOWNLCID = unchecked((int)0x8002000C);
public static int DISP_E_UNKNOWNNAME = unchecked((int)0x80020006);
public static int DRAGDROP_E_ALREADYREGISTERED = unchecked((int)0x80040101);
public static int DRAGDROP_E_FIRST = unchecked((int)0x80040100);
public static int DRAGDROP_E_INVALIDIntPtr = unchecked((int)0x80040102);
public static int DRAGDROP_E_LAST = unchecked((int)0x8004010F);
public static int DRAGDROP_E_NOTREGISTERED = unchecked((int)0x80040100);
public static int DRAGDROP_S_CANCEL = 0x40101;
public static int DRAGDROP_S_DROP = 0x40100;
public static int DRAGDROP_S_FIRST = 0x40100;
public static int DRAGDROP_S_LAST = 0x4010F;
public static int DRAGDROP_S_USEDEFAULTCURSORS = 0x40102;
public static int DV_E_CLIPFORMAT = unchecked((int)0x8004006A);
public static int DV_E_DVASPECT = unchecked((int)0x8004006B);
public static int DV_E_DVTARGETDEVICE = unchecked((int)0x80040065);
public static int DV_E_DVTARGETDEVICE_SIZE = unchecked((int)0x8004006C);
public static int DV_E_FORMATETC = unchecked((int)0x80040064);
public static int DV_E_LINDEX = unchecked((int)0x80040068);
public static int DV_E_NOIVIEWOBJECT = unchecked((int)0x8004006D);
public static int DV_E_STATDATA = unchecked((int)0x80040067);
public static int DV_E_STGMEDIUM = unchecked((int)0x80040066);
public static int DV_E_TYMED = unchecked((int)0x80040069);
public static int ENUM_E_FIRST = unchecked((int)0x800401B0);
public static int ENUM_E_LAST = unchecked((int)0x800401BF);
public static int ENUM_S_FIRST = 0x401B0;
public static int ENUM_S_LAST = 0x401BF;
public static int EPT_S_CANT_CREATE = 1899;
public static int EPT_S_CANT_PERFORM_OP = 1752;
public static int EPT_S_INVALID_ENTRY = 1751;
public static int EPT_S_NOT_REGISTERED = 1753;
public static int ERROR_ACCESS_DENIED = 5;
public static int ERROR_ACCOUNT_DISABLED = 1331;
public static int ERROR_ACCOUNT_EXPIRED = 1793;
public static int ERROR_ACCOUNT_RESTRICTION = 1327;
public static int ERROR_ADAP_HDW_ERR = 57;
public static int ERROR_ALIAS_EXISTS = 1379;
public static int ERROR_ALLOTTED_SPACE_EXCEEDED = 1344;
public static int ERROR_ALREADY_ASSIGNED = 85;
public static int ERROR_ALREADY_EXISTS = 183;
public static int ERROR_ALREADY_RUNNING_LKG = 1074;
public static int ERROR_ALREADY_WAITING = 1904;
public static int ERROR_ARENA_TRASHED = 7;
public static int ERROR_ARITHMETIC_OVERFLOW = 534;
public static int ERROR_ATOMIC_LOCKS_NOT_SUPPORTED = 174;
public static int ERROR_AUTODATASEG_EXCEEDS_64k = 199;
public static int ERROR_BADDB = 1009;
public static int ERROR_BADKEY = 1010;
public static int ERROR_BAD_ARGUMENTS = 160;
public static int ERROR_BAD_COMMAND = 22;
public static int ERROR_BAD_DESCRIPTOR_FORMAT = 1361;
public static int ERROR_BAD_DEVICE = 1200;
public static int ERROR_BAD_DEV_TYPE = 66;
public static int ERROR_BAD_DRIVER = 2001;
public static int ERROR_BAD_DRIVER_LEVEL = 119;
public static int ERROR_BAD_ENVIRONMENT = 10;
public static int ERROR_BAD_EXE_FORMAT = 193;
public static int ERROR_BAD_FORMAT = 11;
public static int ERROR_BAD_IMPERSONATION_LEVEL = 1346;
public static int ERROR_BAD_INHERITANCE_ACL = 1340;
public static int ERROR_BAD_LENGTH = 24;
public static int ERROR_BAD_LOGON_SESSION_STATE = 1365;
public static int ERROR_BAD_NETPATH = 53;
public static int ERROR_BAD_NET_NAME = 67;
public static int ERROR_BAD_NET_RESP = 58;
public static int ERROR_BAD_PATHNAME = 161;
public static int ERROR_BAD_PIPE = 230;
public static int ERROR_BAD_PROFILE = 1206;
public static int ERROR_BAD_PROVIDER = 1204;
public static int ERROR_BAD_REM_ADAP = 60;
public static int ERROR_BAD_THREADID_ADDR = 159;
public static int ERROR_BAD_TOKEN_TYPE = 1349;
public static int ERROR_BAD_UNIT = 20;
public static int ERROR_BAD_USERNAME = 2202;
public static int ERROR_BAD_VALIDATION_CLASS = 1348;
public static int ERROR_BEGINNING_OF_MEDIA = 1102;
public static int ERROR_BOOT_ALREADY_ACCEPTED = 1076;
public static int ERROR_BROKEN_PIPE = 109;
public static int ERROR_BUFFER_OVERFLOW = 111;
public static int ERROR_BUSY = 170;
public static int ERROR_BUSY_DRIVE = 142;
public static int ERROR_BUS_RESET = 1111;
public static int ERROR_CALL_NOT_IMPLEMENTED = 120;
public static int ERROR_CANCEL_VIOLATION = 173;
public static int ERROR_CANNOT_COPY = 266;
public static int ERROR_CANNOT_FIND_WND_CLASS = 1407;
public static int ERROR_CANNOT_IMPERSONATE = 1368;
public static int ERROR_CANNOT_MAKE = 82;
public static int ERROR_CANNOT_OPEN_PROFILE = 1205;
public static int ERROR_CANTOPEN = 1011;
public static int ERROR_CANTREAD = 1012;
public static int ERROR_CANTWRITE = 1013;
public static int ERROR_CANT_ACCESS_DOMAIN_INFO = 1351;
public static int ERROR_CANT_DISABLE_MANDATORY = 1310;
public static int ERROR_CANT_OPEN_ANONYMOUS = 1347;
public static int ERROR_CAN_NOT_COMPLETE = 1003;
public static int ERROR_CAN_NOT_DEL_LOCAL_WINS = 4001;
public static int ERROR_CHILD_MUST_BE_VOLATILE = 1021;
public static int ERROR_CHILD_NOT_COMPLETE = 129;
public static int ERROR_CHILD_WINDOW_MENU = 1436;
public static int ERROR_CIRCULAR_DEPENDENCY = 1059;
public static int ERROR_CLASS_ALREADY_EXISTS = 1410;
public static int ERROR_CLASS_DOES_NOT_EXIST = 1411;
public static int ERROR_CLASS_HAS_WINDOWS = 1412;
public static int ERROR_CLIPBOARD_NOT_OPEN = 1418;
public static int ERROR_CLIPPING_NOT_SUPPORTED = 2005;
public static int ERROR_CONNECTION_UNAVAIL = 1201;
public static int ERROR_CONTROL_ID_NOT_FOUND = 1421;
public static int ERROR_COUNTER_TIMEOUT = 1121;
public static int ERROR_CRC = 23;
public static int ERROR_CURRENT_DIRECTORY = 16;
public static int ERROR_DATABASE_DOES_NOT_EXIST = 1065;
public static int ERROR_DC_NOT_FOUND = 1425;
public static int ERROR_DEPENDENT_SERVICES_RUNNING = 1051;
public static int ERROR_DESTROY_OBJECT_OF_OTHER_THREAD = 1435;
public static int ERROR_DEVICE_ALREADY_REMEMBERED = 1202;
public static int ERROR_DEVICE_IN_USE = 2404;
public static int ERROR_DEVICE_NOT_PARTITIONED = 1107;
public static int ERROR_DEV_NOT_EXIST = 55;
public static int ERROR_DIRECTORY = 267;
public static int ERROR_DIRECT_ACCESS_IntPtr = 130;
public static int ERROR_DIR_NOT_EMPTY = 145;
public static int ERROR_DIR_NOT_ROOT = 144;
public static int ERROR_DISCARDED = 157;
public static int ERROR_DISK_CHANGE = 107;
public static int ERROR_DISK_CORRUPT = 1393;
public static int ERROR_DISK_FULL = 112;
public static int ERROR_DISK_OPERATION_FAILED = 1127;
public static int ERROR_DISK_RECALIBRATE_FAILED = 1126;
public static int ERROR_DISK_RESET_FAILED = 1128;
public static int ERROR_DLL_INIT_FAILED = 1114;
public static int ERROR_DOMAIN_EXISTS = 1356;
public static int ERROR_DOMAIN_LIMIT_EXCEEDED = 1357;
public static int ERROR_DOMAIN_TRUST_INCONSISTENT = 1810;
public static int ERROR_DRIVE_LOCKED = 108;
public static int ERROR_DUPLICATE_SERVICE_NAME = 1078;
public static int ERROR_DUP_DOMAINNAME = 1221;
public static int ERROR_DUP_NAME = 52;
public static int ERROR_DYNLINK_FROM_INVALID_RING = 196;
public static int ERROR_EAS_DIDNT_FIT = 275;
public static int ERROR_EAS_NOT_SUPPORTED = 282;
public static int ERROR_EA_ACCESS_DENIED = 994;
public static int ERROR_EA_FILE_CORRUPT = 276;
public static int ERROR_EA_LIST_INCONSISTENT = 255;
public static int ERROR_EA_TABLE_FULL = 277;
public static int ERROR_END_OF_MEDIA = 1100;
public static int ERROR_ENVVAR_NOT_FOUND = 203;
public static int ERROR_EOM_OVERFLOW = 1129;
public static int ERROR_EVENTLOG_CANT_START = 1501;
public static int ERROR_EVENTLOG_FILE_CHANGED = 1503;
public static int ERROR_EVENTLOG_FILE_CORRUPT = 1500;
public static int ERROR_EXCEPTION_IN_SERVICE = 1064;
public static int ERROR_EXCL_SEM_ALREADY_OWNED = 101;
public static int ERROR_EXE_MARKED_INVALID = 192;
public static int ERROR_EXTENDED_ERROR = 1208;
public static int ERROR_FAILED_SERVICE_CONTROLLER_CONNECT = 1063;
public static int ERROR_FAIL_I24 = 83;
public static int ERROR_FILEMARK_DETECTED = 1101;
public static int ERROR_FILENAME_EXCED_RANGE = 206;
public static int ERROR_FILE_CORRUPT = 1392;
public static int ERROR_FILE_EXISTS = 80;
public static int ERROR_FILE_INVALID = 1006;
public static int ERROR_FILE_NOT_FOUND = 2;
public static int ERROR_FLOPPY_BAD_REGISTERS = 1125;
public static int ERROR_FLOPPY_ID_MARK_NOT_FOUND = 1122;
public static int ERROR_FLOPPY_UNKNOWN_ERROR = 1124;
public static int ERROR_FLOPPY_WRONG_CYLINDER = 1123;
public static int ERROR_FULLSCREEN_MODE = 1007;
public static int ERROR_FULL_BACKUP = 4004;
public static int ERROR_GENERIC_NOT_MAPPED = 1360;
public static int ERROR_GEN_FAILURE = 31;
public static int ERROR_GROUP_EXISTS = 1318;
public static int ERROR_IntPtr_DISK_FULL = 39;
public static int ERROR_IntPtr_EOF = 38;
public static int ERROR_HOOK_NEEDS_HMOD = 1428;
public static int ERROR_HOOK_NOT_INSTALLED = 1431;
public static int ERROR_HOTKEY_ALREADY_REGISTERED = 1409;
public static int ERROR_HOTKEY_NOT_REGISTERED = 1419;
public static int ERROR_IntPtrS_HAVE_DIFF_PARENT = 1441;
public static int ERROR_ILL_FORMED_PASSWORD = 1324;
public static int ERROR_INC_BACKUP = 4003;
public static int ERROR_INFLOOP_IN_RELOC_CHAIN = 202;
public static int ERROR_INSUFFICIENT_BUFFER = 122;
public static int ERROR_INTERNAL_DB_CORRUPTION = 1358;
public static int ERROR_INTERNAL_DB_ERROR = 1383;
public static int ERROR_INTERNAL_ERROR = 1359;
public static int ERROR_INVALID_ACCEL_IntPtr = 1403;
public static int ERROR_INVALID_ACCESS = 12;
public static int ERROR_INVALID_ACCOUNT_NAME = 1315;
public static int ERROR_INVALID_ACL = 1336;
public static int ERROR_INVALID_ADDRESS = 487;
public static int ERROR_INVALID_AT_INTERRUPT_TIME = 104;
public static int ERROR_INVALID_BLOCK = 9;
public static int ERROR_INVALID_BLOCK_LENGTH = 1106;
public static int ERROR_INVALID_CATEGORY = 117;
public static int ERROR_INVALID_COMBOBOX_MESSAGE = 1422;
public static int ERROR_INVALID_COMPUTERNAME = 1210;
public static int ERROR_INVALID_CURSOR_IntPtr = 1402;
public static int ERROR_INVALID_DATA = 13;
public static int ERROR_INVALID_DATATYPE = 1804;
public static int ERROR_INVALID_DOMAINNAME = 1212;
public static int ERROR_INVALID_DOMAIN_ROLE = 1354;
public static int ERROR_INVALID_DOMAIN_STATE = 1353;
public static int ERROR_INVALID_DRIVE = 15;
public static int ERROR_INVALID_DWP_IntPtr = 1405;
public static int ERROR_INVALID_EA_IntPtr = 278;
public static int ERROR_INVALID_EA_NAME = 254;
public static int ERROR_INVALID_EDIT_HEIGHT = 1424;
public static int ERROR_INVALID_ENVIRONMENT = 1805;
public static int ERROR_INVALID_EVENTNAME = 1211;
public static int ERROR_INVALID_EVENT_COUNT = 151;
public static int ERROR_INVALID_EXE_SIGNATURE = 191;
public static int ERROR_INVALID_FILTER_PROC = 1427;
public static int ERROR_INVALID_FLAGS = 1004;
public static int ERROR_INVALID_FLAG_NUMBER = 186;
public static int ERROR_INVALID_FORM_NAME = 1902;
public static int ERROR_INVALID_FORM_SIZE = 1903;
public static int ERROR_INVALID_FUNCTION = 1;
public static int ERROR_INVALID_GROUPNAME = 1209;
public static int ERROR_INVALID_GROUP_ATTRIBUTES = 1345;
public static int ERROR_INVALID_GW_COMMAND = 1443;
public static int ERROR_INVALID_IntPtr = 6;
public static int ERROR_INVALID_HOOK_FILTER = 1426;
public static int ERROR_INVALID_HOOK_IntPtr = 1404;
public static int ERROR_INVALID_ICON_IntPtr = 1414;
public static int ERROR_INVALID_ID_AUTHORITY = 1343;
public static int ERROR_INVALID_INDEX = 1413;
public static int ERROR_INVALID_LB_MESSAGE = 1432;
public static int ERROR_INVALID_LEVEL = 124;
public static int ERROR_INVALID_LIST_FORMAT = 153;
public static int ERROR_INVALID_LOGON_HOURS = 1328;
public static int ERROR_INVALID_LOGON_TYPE = 1367;
public static int ERROR_INVALID_MEMBER = 1388;
public static int ERROR_INVALID_MENU_IntPtr = 1401;
public static int ERROR_INVALID_MESSAGE = 1002;
public static int ERROR_INVALID_MESSAGEDEST = 1218;
public static int ERROR_INVALID_MESSAGENAME = 1217;
public static int ERROR_INVALID_MINALLOCSIZE = 195;
public static int ERROR_INVALID_MODULETYPE = 190;
public static int ERROR_INVALID_MSGBOX_STYLE = 1438;
public static int ERROR_INVALID_NAME = 123;
public static int ERROR_INVALID_NETNAME = 1214;
public static int ERROR_INVALID_ORDINAL = 182;
public static int ERROR_INVALID_OWNER = 1307;
public static int ERROR_INVALID_PARAMETER = 87;
public static int ERROR_INVALID_PASSWORD = 86;
public static int ERROR_INVALID_PASSWORDNAME = 1216;
public static int ERROR_INVALID_PIXEL_FORMAT = 2000;
public static int ERROR_INVALID_PRIMARY_GROUP = 1308;
public static int ERROR_INVALID_PRINTER_COMMAND = 1803;
public static int ERROR_INVALID_PRINTER_NAME = 1801;
public static int ERROR_INVALID_PRINTER_STATE = 1906;
public static int ERROR_INVALID_PRIORITY = 1800;
public static int ERROR_INVALID_SCROLLBAR_RANGE = 1448;
public static int ERROR_INVALID_SECURITY_DESCR = 1338;
public static int ERROR_INVALID_SEGDPL = 198;
public static int ERROR_INVALID_SEGMENT_NUMBER = 180;
public static int ERROR_INVALID_SEPARATOR_FILE = 1799;
public static int ERROR_INVALID_SERVER_STATE = 1352;
public static int ERROR_INVALID_SERVICENAME = 1213;
public static int ERROR_INVALID_SERVICE_ACCOUNT = 1057;
public static int ERROR_INVALID_SERVICE_CONTROL = 1052;
public static int ERROR_INVALID_SERVICE_LOCK = 1071;
public static int ERROR_INVALID_SHARENAME = 1215;
public static int ERROR_INVALID_SHOWWIN_COMMAND = 1449;
public static int ERROR_INVALID_SID = 1337;
public static int ERROR_INVALID_SIGNAL_NUMBER = 209;
public static int ERROR_INVALID_SPI_VALUE = 1439;
public static int ERROR_INVALID_STACKSEG = 189;
public static int ERROR_INVALID_STARTING_CODESEG = 188;
public static int ERROR_INVALID_SUB_AUTHORITY = 1335;
public static int ERROR_INVALID_TARGET_IntPtr = 114;
public static int ERROR_INVALID_THREAD_ID = 1444;
public static int ERROR_INVALID_TIME = 1901;
public static int ERROR_INVALID_USER_BUFFER = 1784;
public static int ERROR_INVALID_VERIFY_SWITCH = 118;
public static int ERROR_INVALID_WINDOW_IntPtr = 1400;
public static int ERROR_INVALID_WINDOW_STYLE = 2002;
public static int ERROR_INVALID_WORKSTATION = 1329;
public static int ERROR_IOPL_NOT_ENABLED = 197;
public static int ERROR_IO_DEVICE = 1117;
public static int ERROR_IO_INCOMPLETE = 996;
public static int ERROR_IO_PENDING = 997;
public static int ERROR_IRQ_BUSY = 1119;
public static int ERROR_IS_JOINED = 134;
public static int ERROR_IS_JOIN_PATH = 147;
public static int ERROR_IS_JOIN_TARGET = 133;
public static int ERROR_IS_SUBSTED = 135;
public static int ERROR_IS_SUBST_PATH = 146;
public static int ERROR_IS_SUBST_TARGET = 149;
public static int ERROR_ITERATED_DATA_EXCEEDS_64k = 194;
public static int ERROR_JOIN_TO_JOIN = 138;
public static int ERROR_JOIN_TO_SUBST = 140;
public static int ERROR_JOURNAL_HOOK_SET = 1430;
public static int ERROR_KEY_DELETED = 1018;
public static int ERROR_KEY_HAS_CHILDREN = 1020;
public static int ERROR_LABEL_TOO_LONG = 154;
public static int ERROR_LAST_ADMIN = 1322;
public static int ERROR_LB_WITHOUT_TABSTOPS = 1434;
public static int ERROR_LISTBOX_ID_NOT_FOUND = 1416;
public static int ERROR_LM_CROSS_ENCRYPTION_REQUIRED = 1390;
public static int ERROR_LOCAL_USER_SESSION_KEY = 1303;
public static int ERROR_LOCKED = 212;
public static int ERROR_LOCK_FAILED = 167;
public static int ERROR_LOCK_VIOLATION = 33;
public static int ERROR_LOGON_FAILURE = 1326;
public static int ERROR_LOGON_NOT_GRANTED = 1380;
public static int ERROR_LOGON_SESSION_COLLISION = 1366;
public static int ERROR_LOGON_SESSION_EXISTS = 1363;
public static int ERROR_LOGON_TYPE_NOT_GRANTED = 1385;
public static int ERROR_LOG_FILE_FULL = 1502;
public static int ERROR_LUIDS_EXHAUSTED = 1334;
public static int ERROR_MAPPED_ALIGNMENT = 1132;
public static int ERROR_MAX_THRDS_REACHED = 164;
public static int ERROR_MEDIA_CHANGED = 1110;
public static int ERROR_MEMBERS_PRIMARY_GROUP = 1374;
public static int ERROR_MEMBER_IN_ALIAS = 1378;
public static int ERROR_MEMBER_IN_GROUP = 1320;
public static int ERROR_MEMBER_NOT_IN_ALIAS = 1377;
public static int ERROR_MEMBER_NOT_IN_GROUP = 1321;
public static int ERROR_METAFILE_NOT_SUPPORTED = 2003;
public static int ERROR_META_EXPANSION_TOO_LONG = 208;
public static int ERROR_MOD_NOT_FOUND = 126;
public static int ERROR_MORE_DATA = 234;
public static int ERROR_MORE_WRITES = 1120;
public static int ERROR_MR_MID_NOT_FOUND = 317;
public static int ERROR_NEGATIVE_SEEK = 131;
public static int ERROR_NESTING_NOT_ALLOWED = 215;
public static int ERROR_NETLOGON_NOT_STARTED = 1792;
public static int ERROR_NETNAME_DELETED = 64;
public static int ERROR_NETWORK_ACCESS_DENIED = 65;
public static int ERROR_NETWORK_BUSY = 54;
public static int ERROR_NET_WRITE_FAULT = 88;
public static int ERROR_NOACCESS = 998;
public static int ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT = 1807;
public static int ERROR_NOLOGON_SERVER_TRUST_ACCOUNT = 1809;
public static int ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT = 1808;
public static int ERROR_NONE_MAPPED = 1332;
public static int ERROR_NON_MDICHILD_WINDOW = 1445;
public static int ERROR_NOTIFY_ENUM_DIR = 1022;
public static int ERROR_NOT_ALL_ASSIGNED = 1300;
public static int ERROR_NOT_CHILD_WINDOW = 1442;
public static int ERROR_NOT_CONNECTED = 2250;
public static int ERROR_NOT_CONTAINER = 1207;
public static int ERROR_NOT_DOS_DISK = 26;
public static int ERROR_NOT_ENOUGH_MEMORY = 8;
public static int ERROR_NOT_ENOUGH_QUOTA = 1816;
public static int ERROR_NOT_ENOUGH_SERVER_MEMORY = 1130;
public static int ERROR_NOT_JOINED = 136;
public static int ERROR_NOT_LOCKED = 158;
public static int ERROR_NOT_LOGON_PROCESS = 1362;
public static int ERROR_NOT_OWNER = 288;
public static int ERROR_NOT_READY = 21;
public static int ERROR_NOT_REGISTRY_FILE = 1017;
public static int ERROR_NOT_SAME_DEVICE = 17;
public static int ERROR_NOT_SUBSTED = 137;
public static int ERROR_NOT_SUPPORTED = 50;
public static int ERROR_NO_BROWSER_SERVERS_FOUND = 6118;
public static int ERROR_NO_DATA = 232;
public static int ERROR_NO_DATA_DETECTED = 1104;
public static int ERROR_NO_IMPERSONATION_TOKEN = 1309;
public static int ERROR_NO_INHERITANCE = 1391;
public static int ERROR_NO_LOGON_SERVERS = 1311;
public static int ERROR_NO_LOG_SPACE = 1019;
public static int ERROR_NO_MEDIA_IN_DRIVE = 1112;
public static int ERROR_NO_MORE_FILES = 18;
public static int ERROR_NO_MORE_ITEMS = 259;
public static int ERROR_NO_MORE_SEARCH_IntPtrS = 113;
public static int ERROR_NO_NETWORK = 1222;
public static int ERROR_NO_NET_OR_BAD_PATH = 1203;
public static int ERROR_NO_PROC_SLOTS = 89;
public static int ERROR_NO_QUOTAS_FOR_ACCOUNT = 1302;
public static int ERROR_NO_SCROLLBARS = 1447;
public static int ERROR_NO_SECURITY_ON_OBJECT = 1350;
public static int ERROR_NO_SHUTDOWN_IN_PROGRESS = 1116;
public static int ERROR_NO_SIGNAL_SENT = 205;
public static int ERROR_NO_SPOOL_SPACE = 62;
public static int ERROR_NO_SUCH_ALIAS = 1376;
public static int ERROR_NO_SUCH_DOMAIN = 1355;
public static int ERROR_NO_SUCH_GROUP = 1319;
public static int ERROR_NO_SUCH_LOGON_SESSION = 1312;
public static int ERROR_NO_SUCH_MEMBER = 1387;
public static int ERROR_NO_SUCH_PACKAGE = 1364;
public static int ERROR_NO_SUCH_PRIVILEGE = 1313;
public static int ERROR_NO_SUCH_USER = 1317;
public static int ERROR_NO_SYSTEM_MENU = 1437;
public static int ERROR_NO_TOKEN = 1008;
public static int ERROR_NO_TRUST_LSA_SECRET = 1786;
public static int ERROR_NO_TRUST_SAM_ACCOUNT = 1787;
public static int ERROR_NO_UNICODE_TRANSLATION = 1113;
public static int ERROR_NO_USER_SESSION_KEY = 1394;
public static int ERROR_NO_VOLUME_LABEL = 125;
public static int ERROR_NO_WILDCARD_CHARACTERS = 1417;
public static int ERROR_NT_CROSS_ENCRYPTION_REQUIRED = 1386;
public static int ERROR_NULL_LM_PASSWORD = 1304;
public static int ERROR_OPEN_FAILED = 110;
public static int ERROR_OPEN_FILES = 2401;
public static int ERROR_OPERATION_ABORTED = 995;
public static int ERROR_OUTOFMEMORY = 14;
public static int ERROR_OUT_OF_PAPER = 28;
public static int ERROR_OUT_OF_STRUCTURES = 84;
public static int ERROR_PARTITION_FAILURE = 1105;
public static int ERROR_PASSWORD_EXPIRED = 1330;
public static int ERROR_PASSWORD_RESTRICTION = 1325;
public static int ERROR_PATH_BUSY = 148;
public static int ERROR_PATH_NOT_FOUND = 3;
public static int ERROR_PIPE_BUSY = 231;
public static int ERROR_PIPE_CONNECTED = 535;
public static int ERROR_PIPE_LISTENING = 536;
public static int ERROR_PIPE_NOT_CONNECTED = 233;
public static int ERROR_POPUP_ALREADY_ACTIVE = 1446;
public static int ERROR_POSSIBLE_DEADLOCK = 1131;
public static int ERROR_PRINTER_ALREADY_EXISTS = 1802;
public static int ERROR_PRINTER_DELETED = 1905;
public static int ERROR_PRINTER_DRIVER_ALREADY_INSTALLED = 1795;
public static int ERROR_PRINTER_DRIVER_IN_USE = 3001;
public static int ERROR_PRINTQ_FULL = 61;
public static int ERROR_PRINT_CANCELLED = 63;
public static int ERROR_PRINT_MONITOR_ALREADY_INSTALLED = 3006;
public static int ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED = 3005;
public static int ERROR_PRIVATE_DIALOG_INDEX = 1415;
public static int ERROR_PRIVILEGE_NOT_HELD = 1314;
public static int ERROR_PROCESS_ABORTED = 1067;
public static int ERROR_PROC_NOT_FOUND = 127;
public static int ERROR_PUBLIC_ONLY_HOOK = 1429;
public static int ERROR_READ_FAULT = 30;
public static int ERROR_REC_NON_EXISTENT = 4005;
public static int ERROR_REDIRECTOR_HAS_OPEN_IntPtrS = 1794;
public static int ERROR_REDIR_PAUSED = 72;
public static int ERROR_REGISTRY_CORRUPT = 1015;
public static int ERROR_REGISTRY_IO_FAILED = 1016;
public static int ERROR_REGISTRY_RECOVERED = 1014;
public static int ERROR_RELOC_CHAIN_XEEDS_SEGLIM = 201;
public static int ERROR_REMOTE_SESSION_LIMIT_EXCEEDED = 1220;
public static int ERROR_REM_NOT_LIST = 51;
public static int ERROR_REQ_NOT_ACCEP = 71;
public static int ERROR_RESOURCE_DATA_NOT_FOUND = 1812;
public static int ERROR_RESOURCE_LANG_NOT_FOUND = 1815;
public static int ERROR_RESOURCE_NAME_NOT_FOUND = 1814;
public static int ERROR_RESOURCE_TYPE_NOT_FOUND = 1813;
public static int ERROR_REVISION_MISMATCH = 1306;
public static int ERROR_RING2SEG_MUST_BE_MOVABLE = 200;
public static int ERROR_RING2_STACK_IN_USE = 207;
public static int ERROR_RPL_NOT_ALLOWED = 4006;
public static int ERROR_RXACT_COMMIT_FAILURE = 1370;
public static int ERROR_RXACT_INVALID_STATE = 1369;
public static int ERROR_SAME_DRIVE = 143;
public static int ERROR_SCREEN_ALREADY_LOCKED = 1440;
public static int ERROR_SECRET_TOO_LONG = 1382;
public static int ERROR_SECTOR_NOT_FOUND = 27;
public static int ERROR_SEEK = 25;
public static int ERROR_SEEK_ON_DEVICE = 132;
public static int ERROR_SEM_IS_SET = 102;
public static int ERROR_SEM_NOT_FOUND = 187;
public static int ERROR_SEM_OWNER_DIED = 105;
public static int ERROR_SEM_TIMEOUT = 121;
public static int ERROR_SEM_USER_LIMIT = 106;
public static int ERROR_SERIAL_NO_DEVICE = 1118;
public static int ERROR_SERVER_DISABLED = 1341;
public static int ERROR_SERVER_HAS_OPEN_IntPtrS = 1811;
public static int ERROR_SERVER_NOT_DISABLED = 1342;
public static int ERROR_SERVICE_ALREADY_RUNNING = 1056;
public static int ERROR_SERVICE_CANNOT_ACCEPT_CTRL = 1061;
public static int ERROR_SERVICE_DATABASE_LOCKED = 1055;
public static int ERROR_SERVICE_DEPENDENCY_DELETED = 1075;
public static int ERROR_SERVICE_DEPENDENCY_FAIL = 1068;
public static int ERROR_SERVICE_DISABLED = 1058;
public static int ERROR_SERVICE_DOES_NOT_EXIST = 1060;
public static int ERROR_SERVICE_EXISTS = 1073;
public static int ERROR_SERVICE_LOGON_FAILED = 1069;
public static int ERROR_SERVICE_MARKED_FOR_DELETE = 1072;
public static int ERROR_SERVICE_NEVER_STARTED = 1077;
public static int ERROR_SERVICE_NOT_ACTIVE = 1062;
public static int ERROR_SERVICE_NO_THREAD = 1054;
public static int ERROR_SERVICE_REQUEST_TIMEOUT = 1053;
public static int ERROR_SERVICE_SPECIFIC_ERROR = 1066;
public static int ERROR_SERVICE_START_HANG = 1070;
public static int ERROR_SESSION_CREDENTIAL_CONFLICT = 1219;
public static int ERROR_SETCOUNT_ON_BAD_LB = 1433;
public static int ERROR_SETMARK_DETECTED = 1103;
public static int ERROR_SHARING_BUFFER_EXCEEDED = 36;
public static int ERROR_SHARING_PAUSED = 70;
public static int ERROR_SHARING_VIOLATION = 32;
public static int ERROR_SHUTDOWN_IN_PROGRESS = 1115;
public static int ERROR_SIGNAL_PENDING = 162;
public static int ERROR_SIGNAL_REFUSED = 156;
public static int ERROR_SOME_NOT_MAPPED = 1301;
public static int ERROR_SPECIAL_ACCOUNT = 1371;
public static int ERROR_SPECIAL_GROUP = 1372;
public static int ERROR_SPECIAL_USER = 1373;
public static int ERROR_SPL_NO_ADDJOB = 3004;
public static int ERROR_SPL_NO_STARTDOC = 3003;
public static int ERROR_SPOOL_FILE_NOT_FOUND = 3002;
public static int ERROR_STACK_OVERFLOW = 1001;
public static int ERROR_STATIC_INIT = 4002;
public static int ERROR_SUBST_TO_JOIN = 141;
public static int ERROR_SUBST_TO_SUBST = 139;
public static int ERROR_SUCCESS = 0;
public static int ERROR_SWAPERROR = 999;
public static int ERROR_SYSTEM_TRACE = 150;
public static int ERROR_THREAD_1_INACTIVE = 210;
public static int ERROR_TLW_WITH_WSCHILD = 1406;
public static int ERROR_TOKEN_ALREADY_IN_USE = 1375;
public static int ERROR_TOO_MANY_CMDS = 56;
public static int ERROR_TOO_MANY_CONTEXT_IDS = 1384;
public static int ERROR_TOO_MANY_LUIDS_REQUESTED = 1333;
public static int ERROR_TOO_MANY_MODULES = 214;
public static int ERROR_TOO_MANY_MUXWAITERS = 152;
public static int ERROR_TOO_MANY_NAMES = 68;
public static int ERROR_TOO_MANY_OPEN_FILES = 4;
public static int ERROR_TOO_MANY_POSTS = 298;
public static int ERROR_TOO_MANY_SECRETS = 1381;
public static int ERROR_TOO_MANY_SEMAPHORES = 100;
public static int ERROR_TOO_MANY_SEM_REQUESTS = 103;
public static int ERROR_TOO_MANY_SESS = 69;
public static int ERROR_TOO_MANY_SIDS = 1389;
public static int ERROR_TOO_MANY_TCBS = 155;
public static int ERROR_TRANSFORM_NOT_SUPPORTED = 2004;
public static int ERROR_TRUSTED_DOMAIN_FAILURE = 1788;
public static int ERROR_TRUSTED_RELATIONSHIP_FAILURE = 1789;
public static int ERROR_TRUST_FAILURE = 1790;
public static int ERROR_UNABLE_TO_LOCK_MEDIA = 1108;
public static int ERROR_UNABLE_TO_UNLOAD_MEDIA = 1109;
public static int ERROR_UNEXP_NET_ERR = 59;
public static int ERROR_UNKNOWN_PORT = 1796;
public static int ERROR_UNKNOWN_PRINTER_DRIVER = 1797;
public static int ERROR_UNKNOWN_PRINTPROCESSOR = 1798;
public static int ERROR_UNKNOWN_PRINT_MONITOR = 3000;
public static int ERROR_UNKNOWN_REVISION = 1305;
public static int ERROR_UNRECOGNIZED_MEDIA = 1785;
public static int ERROR_UNRECOGNIZED_VOLUME = 1005;
public static int ERROR_USER_EXISTS = 1316;
public static int ERROR_VC_DISCONNECTED = 240;
public static int ERROR_WAIT_NO_CHILDREN = 128;
public static int ERROR_WINDOW_NOT_COMBOBOX = 1423;
public static int ERROR_WINDOW_NOT_DIALOG = 1420;
public static int ERROR_WINDOW_OF_OTHER_THREAD = 1408;
public static int ERROR_WINS_INTERNAL = 4000;
public static int ERROR_WRITE_FAULT = 29;
public static int ERROR_WRITE_PROTECT = 19;
public static int ERROR_WRONG_DISK = 34;
public static int ERROR_WRONG_PASSWORD = 1323;
public static int E_ABORT = unchecked((int)0x80004004);
public static int E_ACCESSDENIED = unchecked((int)0x80070005);
public static int E_FAIL = unchecked((int)0x80004005);
public static int E_IntPtr = unchecked((int)0x80070006);
public static int E_INVALIDARG = unchecked((int)0x80070057);
public static int E_NOINTERFACE = unchecked((int)0x80004002);
public static int E_NOTIMPL = unchecked((int)0x80004001);
public static int E_OUTOFMEMORY = unchecked((int)0x8007000E);
public static int E_POINTER = unchecked((int)0x80004003);
public static int E_UNEXPECTED = unchecked((int)0x8000FFFF);
public static int FACILITY_NT_BIT = 0x10000000;
public static int INPLACE_E_FIRST = unchecked((int)0x800401A0);
public static int INPLACE_E_LAST = unchecked((int)0x800401AF);
public static int INPLACE_E_NOTOOLSPACE = unchecked((int)0x800401A1);
public static int INPLACE_E_NOTUNDOABLE = unchecked((int)0x800401A0);
public static int INPLACE_S_FIRST = 0x401A0;
public static int INPLACE_S_LAST = 0x401AF;
public static int INPLACE_S_TRUNCATED = 0x401A0;
public static int MARSHAL_E_FIRST = unchecked((int)0x80040120);
public static int MARSHAL_E_LAST = unchecked((int)0x8004012F);
public static int MARSHAL_S_FIRST = 0x40120;
public static int MARSHAL_S_LAST = 0x4012F;
public static int MEM_E_INVALID_LINK = unchecked((int)0x80080010);
public static int MEM_E_INVALID_ROOT = unchecked((int)0x80080009);
public static int MEM_E_INVALID_SIZE = unchecked((int)0x80080011);
public static int MK_E_CANTOPENFILE = unchecked((int)0x800401EA);
public static int MK_E_CONNECTMANUALLY = unchecked((int)0x800401E0);
public static int MK_E_ENUMERATION_FAILED = unchecked((int)0x800401EF);
public static int MK_E_EXCEEDEDDEADLINE = unchecked((int)0x800401E1);
public static int MK_E_FIRST = unchecked((int)0x800401E0);
public static int MK_E_INTERMEDIATEINTERFACENOTSUPPORTED = unchecked((int)0x800401E7);
public static int MK_E_INVALIDEXTENSION = unchecked((int)0x800401E6);
public static int MK_E_LAST = unchecked((int)0x800401EF);
public static int MK_E_MUSTBOTHERUSER = unchecked((int)0x800401EB);
public static int MK_E_NEEDGENERIC = unchecked((int)0x800401E2);
public static int MK_E_NOINVERSE = unchecked((int)0x800401EC);
public static int MK_E_NOOBJECT = unchecked((int)0x800401E5);
public static int MK_E_NOPREFIX = unchecked((int)0x800401EE);
public static int MK_E_NOSTORAGE = unchecked((int)0x800401ED);
public static int MK_E_NOTBINDABLE = unchecked((int)0x800401E8);
public static int MK_E_NOTBOUND = unchecked((int)0x800401E9);
public static int MK_E_NO_NORMALIZED = unchecked((int)0x80080007);
public static int MK_E_SYNTAX = unchecked((int)0x800401E4);
public static int MK_E_UNAVAILABLE = unchecked((int)0x800401E3);
public static int MK_S_FIRST = 0x401E0;
public static int MK_S_HIM = 0x401E5;
public static int MK_S_LAST = 0x401EF;
public static int MK_S_ME = 0x401E4;
public static int MK_S_MONIKERALREADYREGISTERED = 0x401E7;
public static int MK_S_REDUCED_TO_SELF = 0x401E2;
public static int MK_S_US = 0x401E6;
public static int NOERROR = 0;
public static int NO_ERROR = 0;
public static int OLEOBJ_E_FIRST = unchecked((int)0x80040180);
public static int OLEOBJ_E_INVALIDVERB = unchecked((int)0x80040181);
public static int OLEOBJ_E_LAST = unchecked((int)0x8004018F);
public static int OLEOBJ_E_NOVERBS = unchecked((int)0x80040180);
public static int OLEOBJ_S_CANNOT_DOVERB_NOW = 0x40181;
public static int OLEOBJ_S_FIRST = 0x40180;
public static int OLEOBJ_S_INVALIDIntPtr = 0x40182;
public static int OLEOBJ_S_INVALIDVERB = 0x40180;
public static int OLEOBJ_S_LAST = 0x4018F;
public static int OLE_E_ADVF = unchecked((int)0x80040001);
public static int OLE_E_ADVISENOTSUPPORTED = unchecked((int)0x80040003);
public static int OLE_E_BLANK = unchecked((int)0x80040007);
public static int OLE_E_CANTCONVERT = unchecked((int)0x80040011);
public static int OLE_E_CANT_BINDTOSOURCE = unchecked((int)0x8004000A);
public static int OLE_E_CANT_GETMONIKER = unchecked((int)0x80040009);
public static int OLE_E_CLASSDIFF = unchecked((int)0x80040008);
public static int OLE_E_ENUM_NOMORE = unchecked((int)0x80040002);
public static int OLE_E_FIRST = unchecked((int)0x80040000);
public static int OLE_E_INVALIDIntPtr = unchecked((int)0x8004000F);
public static int OLE_E_INVALIDRECT = unchecked((int)0x8004000D);
public static int OLE_E_LAST = unchecked((int)0x800400FF);
public static int OLE_E_NOCACHE = unchecked((int)0x80040006);
public static int OLE_E_NOCONNECTION = unchecked((int)0x80040004);
public static int OLE_E_NOSTORAGE = unchecked((int)0x80040012);
public static int OLE_E_NOTRUNNING = unchecked((int)0x80040005);
public static int OLE_E_NOT_INPLACEACTIVE = unchecked((int)0x80040010);
public static int OLE_E_OLEVERB = unchecked((int)0x80040000);
public static int OLE_E_PROMPTSAVECANCELLED = unchecked((int)0x8004000C);
public static int OLE_E_STATIC = unchecked((int)0x8004000B);
public static int OLE_E_WRONGCOMPOBJ = unchecked((int)0x8004000E);
public static int OLE_S_FIRST = 0x40000;
public static int OLE_S_LAST = 0x400FF;
public static int OLE_S_MAC_CLIPFORMAT = 0x40002;
public static int OLE_S_STATIC = 0x40001;
public static int OLE_S_USEREG = 0x40000;
public static int REGDB_E_CLASSNOTREG = unchecked((int)0x80040154);
public static int REGDB_E_FIRST = unchecked((int)0x80040150);
public static int REGDB_E_IIDNOTREG = unchecked((int)0x80040155);
public static int REGDB_E_INVALIDVALUE = unchecked((int)0x80040153);
public static int REGDB_E_KEYMISSING = unchecked((int)0x80040152);
public static int REGDB_E_LAST = unchecked((int)0x8004015F);
public static int REGDB_E_READREGDB = unchecked((int)0x80040150);
public static int REGDB_E_WRITEREGDB = unchecked((int)0x80040151);
public static int REGDB_S_FIRST = 0x40150;
public static int REGDB_S_LAST = 0x4015F;
public static int RPC_E_ATTEMPTED_MULTITHREAD = unchecked((int)0x80010102);
public static int RPC_E_CALL_CANCELED = unchecked((int)0x80010002);
public static int RPC_E_CALL_REJECTED = unchecked((int)0x80010001);
public static int RPC_E_CANTCALLOUT_AGAIN = unchecked((int)0x80010011);
public static int RPC_E_CANTCALLOUT_INASYNCCALL = unchecked((int)0x80010004);
public static int RPC_E_CANTCALLOUT_INEXTERNALCALL = unchecked((int)0x80010005);
public static int RPC_E_CANTCALLOUT_ININPUTSYNCCALL = unchecked((int)0x8001010D);
public static int RPC_E_CANTPOST_INSENDCALL = unchecked((int)0x80010003);
public static int RPC_E_CANTTRANSMIT_CALL = unchecked((int)0x8001000A);
public static int RPC_E_CHANGED_MODE = unchecked((int)0x80010106);
public static int RPC_E_CLIENT_CANTMARSHAL_DATA = unchecked((int)0x8001000B);
public static int RPC_E_CLIENT_CANTUNMARSHAL_DATA = unchecked((int)0x8001000C);
public static int RPC_E_CLIENT_DIED = unchecked((int)0x80010008);
public static int RPC_E_CONNECTION_TERMINATED = unchecked((int)0x80010006);
public static int RPC_E_DISCONNECTED = unchecked((int)0x80010108);
public static int RPC_E_FAULT = unchecked((int)0x80010104);
public static int RPC_E_INVALIDMETHOD = unchecked((int)0x80010107);
public static int RPC_E_INVALID_CALLDATA = unchecked((int)0x8001010C);
public static int RPC_E_INVALID_DATA = unchecked((int)0x8001000F);
public static int RPC_E_INVALID_DATAPACKET = unchecked((int)0x80010009);
public static int RPC_E_INVALID_PARAMETER = unchecked((int)0x80010010);
public static int RPC_E_NOT_REGISTERED = unchecked((int)0x80010103);
public static int RPC_E_OUT_OF_RESOURCES = unchecked((int)0x80010101);
public static int RPC_E_RETRY = unchecked((int)0x80010109);
public static int RPC_E_SERVERCALL_REJECTED = unchecked((int)0x8001010B);
public static int RPC_E_SERVERCALL_RETRYLATER = unchecked((int)0x8001010A);
public static int RPC_E_SERVERFAULT = unchecked((int)0x80010105);
public static int RPC_E_SERVER_CANTMARSHAL_DATA = unchecked((int)0x8001000D);
public static int RPC_E_SERVER_CANTUNMARSHAL_DATA = unchecked((int)0x8001000E);
public static int RPC_E_SERVER_DIED = unchecked((int)0x80010007);
public static int RPC_E_SERVER_DIED_DNE = unchecked((int)0x80010012);
public static int RPC_E_SYS_CALL_FAILED = unchecked((int)0x80010100);
public static int RPC_E_THREAD_NOT_INIT = unchecked((int)0x8001010F);
public static int RPC_E_UNEXPECTED = unchecked((int)0x8001FFFF);
public static int RPC_E_WRONG_THREAD = unchecked((int)0x8001010E);
public static int RPC_S_ADDRESS_ERROR = 1768;
public static int RPC_S_ALREADY_LISTENING = 1713;
public static int RPC_S_ALREADY_REGISTERED = 1711;
public static int RPC_S_BINDING_HAS_NO_AUTH = 1746;
public static int RPC_S_CALL_FAILED = 1726;
public static int RPC_S_CALL_FAILED_DNE = 1727;
public static int RPC_S_CALL_IN_PROGRESS = 1791;
public static int RPC_S_CANNOT_SUPPORT = 1764;
public static int RPC_S_CANT_CREATE_ENDPOINT = 1720;
public static int RPC_S_DUPLICATE_ENDPOINT = 1740;
public static int RPC_S_ENTRY_ALREADY_EXISTS = 1760;
public static int RPC_S_ENTRY_NOT_FOUND = 1761;
public static int RPC_S_FP_DIV_ZERO = 1769;
public static int RPC_S_FP_OVERFLOW = 1771;
public static int RPC_S_FP_UNDERFLOW = 1770;
public static int RPC_S_GROUP_MEMBER_NOT_FOUND = 1898;
public static int RPC_S_INCOMPLETE_NAME = 1755;
public static int RPC_S_INTERFACE_NOT_FOUND = 1759;
public static int RPC_S_INTERNAL_ERROR = 1766;
public static int RPC_S_INVALID_AUTH_IDENTITY = 1749;
public static int RPC_S_INVALID_BINDING = 1702;
public static int RPC_S_INVALID_BOUND = 1734;
public static int RPC_S_INVALID_ENDPOINT_FORMAT = 1706;
public static int RPC_S_INVALID_NAF_ID = 1763;
public static int RPC_S_INVALID_NAME_SYNTAX = 1736;
public static int RPC_S_INVALID_NETWORK_OPTIONS = 1724;
public static int RPC_S_INVALID_NET_ADDR = 1707;
public static int RPC_S_INVALID_OBJECT = 1900;
public static int RPC_S_INVALID_RPC_PROTSEQ = 1704;
public static int RPC_S_INVALID_STRING_BINDING = 1700;
public static int RPC_S_INVALID_STRING_UUID = 1705;
public static int RPC_S_INVALID_TAG = 1733;
public static int RPC_S_INVALID_TIMEOUT = 1709;
public static int RPC_S_INVALID_VERS_OPTION = 1756;
public static int RPC_S_MAX_CALLS_TOO_SMALL = 1742;
public static int RPC_S_NAME_SERVICE_UNAVAILABLE = 1762;
public static int RPC_S_NOTHING_TO_EXPORT = 1754;
public static int RPC_S_NOT_ALL_OBJS_UNEXPORTED = 1758;
public static int RPC_S_NOT_LISTENING = 1715;
public static int RPC_S_NO_BINDINGS = 1718;
public static int RPC_S_NO_CALL_ACTIVE = 1725;
public static int RPC_S_NO_CONTEXT_AVAILABLE = 1765;
public static int RPC_S_NO_ENDPOINT_FOUND = 1708;
public static int RPC_S_NO_ENTRY_NAME = 1735;
public static int RPC_S_NO_MORE_BINDINGS = 1806;
public static int RPC_S_NO_MORE_MEMBERS = 1757;
public static int RPC_S_NO_PROTSEQS = 1719;
public static int RPC_S_NO_PROTSEQS_REGISTERED = 1714;
public static int RPC_S_OBJECT_NOT_FOUND = 1710;
public static int RPC_S_OUT_OF_RESOURCES = 1721;
public static int RPC_S_PROCNUM_OUT_OF_RANGE = 1745;
public static int RPC_S_PROTOCOL_ERROR = 1728;
public static int RPC_S_PROTSEQ_NOT_FOUND = 1744;
public static int RPC_S_PROTSEQ_NOT_SUPPORTED = 1703;
public static int RPC_S_SERVER_TOO_BUSY = 1723;
public static int RPC_S_SERVER_UNAVAILABLE = 1722;
public static int RPC_S_STRING_TOO_LONG = 1743;
public static int RPC_S_TYPE_ALREADY_REGISTERED = 1712;
public static int RPC_S_UNKNOWN_AUTHN_LEVEL = 1748;
public static int RPC_S_UNKNOWN_AUTHN_SERVICE = 1747;
public static int RPC_S_UNKNOWN_AUTHN_TYPE = 1741;
public static int RPC_S_UNKNOWN_AUTHZ_SERVICE = 1750;
public static int RPC_S_UNKNOWN_IF = 1717;
public static int RPC_S_UNKNOWN_MGR_TYPE = 1716;
public static int RPC_S_UNSUPPORTED_NAME_SYNTAX = 1737;
public static int RPC_S_UNSUPPORTED_TRANS_SYN = 1730;
public static int RPC_S_UNSUPPORTED_TYPE = 1732;
public static int RPC_S_UUID_NO_ADDRESS = 1739;
public static int RPC_S_WRONG_KIND_OF_BINDING = 1701;
public static int RPC_S_ZERO_DIVIDE = 1767;
public static int RPC_X_BAD_STUB_DATA = 1783;
public static int RPC_X_BYTE_COUNT_TOO_SMALL = 1782;
public static int RPC_X_ENUM_VALUE_OUT_OF_RANGE = 1781;
public static int RPC_X_NO_MORE_ENTRIES = 1772;
public static int RPC_X_NULL_REF_POINTER = 1780;
public static int RPC_X_SS_CANNOT_GET_CALL_IntPtr = 1779;
public static int RPC_X_SS_CHAR_TRANS_OPEN_FAIL = 1773;
public static int RPC_X_SS_CHAR_TRANS_SHORT_FILE = 1774;
public static int RPC_X_SS_CONTEXT_DAMAGED = 1777;
public static int RPC_X_SS_IntPtrS_MISMATCH = 1778;
public static int RPC_X_SS_IN_NULL_CONTEXT = 1775;
public static int SEVERITY_ERROR = 1;
public static int SEVERITY_SUCCESS = 0;
public static int STG_E_ABNORMALAPIEXIT = unchecked((int)0x800300FA);
public static int STG_E_ACCESSDENIED = unchecked((int)0x80030005);
public static int STG_E_CANTSAVE = unchecked((int)0x80030103);
public static int STG_E_DISKISWRITEPROTECTED = unchecked((int)0x80030013);
public static int STG_E_EXTANTMARSHALLINGS = unchecked((int)0x80030108);
public static int STG_E_FILEALREADYEXISTS = unchecked((int)0x80030050);
public static int STG_E_FILENOTFOUND = unchecked((int)0x80030002);
public static int STG_E_INSUFFICIENTMEMORY = unchecked((int)0x80030008);
public static int STG_E_INUSE = unchecked((int)0x80030100);
public static int STG_E_INVALIDFLAG = unchecked((int)0x800300FF);
public static int STG_E_INVALIDFUNCTION = unchecked((int)0x80030001);
public static int STG_E_INVALIDIntPtr = unchecked((int)0x80030006);
public static int STG_E_INVALIDHEADER = unchecked((int)0x800300FB);
public static int STG_E_INVALIDNAME = unchecked((int)0x800300FC);
public static int STG_E_INVALIDPARAMETER = unchecked((int)0x80030057);
public static int STG_E_INVALIDPOINTER = unchecked((int)0x80030009);
public static int STG_E_LOCKVIOLATION = unchecked((int)0x80030021);
public static int STG_E_MEDIUMFULL = unchecked((int)0x80030070);
public static int STG_E_NOMOREFILES = unchecked((int)0x80030012);
public static int STG_E_NOTCURRENT = unchecked((int)0x80030101);
public static int STG_E_NOTFILEBASEDSTORAGE = unchecked((int)0x80030107);
public static int STG_E_OLDDLL = unchecked((int)0x80030105);
public static int STG_E_OLDFORMAT = unchecked((int)0x80030104);
public static int STG_E_PATHNOTFOUND = unchecked((int)0x80030003);
public static int STG_E_READFAULT = unchecked((int)0x8003001E);
public static int STG_E_REVERTED = unchecked((int)0x80030102);
public static int STG_E_SEEKERROR = unchecked((int)0x80030019);
public static int STG_E_SHAREREQUIRED = unchecked((int)0x80030106);
public static int STG_E_SHAREVIOLATION = unchecked((int)0x80030020);
public static int STG_E_TOOMANYOPENFILES = unchecked((int)0x80030004);
public static int STG_E_UNIMPLEMENTEDFUNCTION = unchecked((int)0x800300FE);
public static int STG_E_UNKNOWN = unchecked((int)0x800300FD);
public static int STG_E_WRITEFAULT = unchecked((int)0x8003001D);
public static int STG_S_CONVERTED = unchecked((int)0x30200);
public static int S_FALSE = 0x1;
public static int S_OK = 0x0;
public static int TYPE_E_AMBIGUOUSNAME = unchecked((int)0x8002802C);
public static int TYPE_E_BADMODULEKIND = unchecked((int)0x800288BD);
public static int TYPE_E_BUFFERTOOSMALL = unchecked((int)0x80028016);
public static int TYPE_E_CANTCREATETMPFILE = unchecked((int)0x80028CA3);
public static int TYPE_E_CANTLOADLIBRARY = unchecked((int)0x80029C4A);
public static int TYPE_E_CIRCULARTYPE = unchecked((int)0x80029C84);
public static int TYPE_E_DLLFUNCTIONNOTFOUND = unchecked((int)0x8002802F);
public static int TYPE_E_DUPLICATEID = unchecked((int)0x800288C6);
public static int TYPE_E_ELEMENTNOTFOUND = unchecked((int)0x8002802B);
public static int TYPE_E_INCONSISTENTPROPFUNCS = unchecked((int)0x80029C83);
public static int TYPE_E_INVALIDID = unchecked((int)0x800288CF);
public static int TYPE_E_INVALIDSTATE = unchecked((int)0x80028029);
public static int TYPE_E_INVDATAREAD = unchecked((int)0x80028018);
public static int TYPE_E_IOERROR = unchecked((int)0x80028CA2);
public static int TYPE_E_LIBNOTREGISTERED = unchecked((int)0x8002801D);
public static int TYPE_E_NAMECONFLICT = unchecked((int)0x8002802D);
public static int TYPE_E_OUTOFBOUNDS = unchecked((int)0x80028CA1);
public static int TYPE_E_QUALIFIEDNAMEDISALLOWED = unchecked((int)0x80028028);
public static int TYPE_E_REGISTRYACCESS = unchecked((int)0x8002801C);
public static int TYPE_E_SIZETOOBIG = unchecked((int)0x800288C5);
public static int TYPE_E_TYPEMISMATCH = unchecked((int)0x80028CA0);
public static int TYPE_E_UNDEFINEDTYPE = unchecked((int)0x80028027);
public static int TYPE_E_UNKNOWNLCID = unchecked((int)0x8002802E);
public static int TYPE_E_UNSUPFORMAT = unchecked((int)0x80028019);
public static int TYPE_E_WRONGTYPEKIND = unchecked((int)0x8002802A);
public static int VIEW_E_DRAW = unchecked((int)0x80040140);
public static int VIEW_E_FIRST = unchecked((int)0x80040140);
public static int VIEW_E_LAST = unchecked((int)0x8004014F);
public static int VIEW_S_ALREADY_FROZEN = 0x40140;
public static int VIEW_S_FIRST = 0x40140;
public static int VIEW_S_LAST = 0x4014F;
#endregion
#region Non-imported
#region Properties
/// <summary>
/// Gets whether the current OS is Windows NT or later.
/// </summary>
public static bool Windows
{ get { return Environment.OSVersion.Platform == PlatformID.Win32NT; } }
/// <summary>
/// Gets whether the current OS is Windows Vista or later.
/// </summary>
public static bool WinVista
{ get { return Windows == true && Environment.OSVersion.Version.Major >= 6; } }
/// <summary>
/// Gets whether the current OS is Windows XP or later.
/// </summary>
public static bool WinXP
{ get { return Windows == true && Environment.OSVersion.Version.Major >= 5; } }
#endregion
#region Methods
public static bool IsKeyPressed(Keys k)
{
int s = (int)GetAsyncKeyState((int)k);
s = (s & 0x8000) >> 15;
return (s == 1);
}
public static IntPtr ControlDC(Control control)
{ return GetDC(control.Handle); }
public static int ColorToInt(Color color)
{ return (color.B << 16 | color.G << 8 | color.R); }
public static Color IntToColor(int color)
{
int b = (color >> 16) & 0xFF;
int g = (color >> 8) & 0xFF;
int r = (color) & 0xFF;
return Color.FromArgb(r, g, b);
}
#endregion
#endregion
}
}