美文网首页教程·技术
C#可直接调用的Win32 API

C#可直接调用的Win32 API

作者: 北风知我意 | 来源:发表于2018-07-17 09:51 被阅读204次

    以前整理的Win32 API,可以直接在C#中直接调用,在做WinForm时还是很有帮助的。以前用在一个多窗口界面中,当轮询窗口时,调用API会提高很多效率。

    源码下载

    http://files.cnblogs.com/lordeo/win32api.rar

    整理的Win32 API,可以直接在C#中直接调用,在做WinForm时还是很有帮助的。

    源码包含三个文件

    Win32API.cs,

    [csharp]view plaincopy

    using System;  

    using System.Drawing;  

    using System.Runtime.InteropServices;  

    using Lordal.Window.Form.Lib.General;  

    using Lordal.Window.Form.Lib.Win32;  

    namespace Lordeo.Framework  

    {  

    ///   

    /// Windows API Functions  

    ///   

    publicclass Win32API  

        {  

            #region .ctor()  

    // No need to construct this object  

    private Win32API()  

            {  

            }  

            #endregion  

            #region Constans values  

    publicconststring TOOLBARCLASSNAME ="ToolbarWindow32";  

    publicconststring REBARCLASSNAME ="ReBarWindow32";  

    publicconststring PROGRESSBARCLASSNAME ="msctls_progress32";  

    publicconststring SCROLLBAR ="SCROLLBAR";  

            #endregion  

            #region CallBacks  

    publicdelegate IntPtr HookProc(int nCode, IntPtr wParam, IntPtr lParam);  

            #endregion  

            #region Kernel32.dll functions  

    [DllImport("kernel32.dll", ExactSpelling=true, CharSet=CharSet.Auto)]  

    publicstaticexternint GetCurrentThreadId();  

            #endregion  

            #region Gdi32.dll functions  

    [DllImport("gdi32.dll")]  

    staticpublicexternbool StretchBlt(IntPtr hDCDest,int XOriginDest,int YOriginDest,int WidthDest,int HeightDest,  

    IntPtr hDCSrc,int XOriginScr,int YOriginSrc,int WidthScr,int HeightScr,uint Rop);  

    [DllImport("gdi32.dll")]  

    staticpublicextern IntPtr CreateCompatibleDC(IntPtr hDC);  

    [DllImport("gdi32.dll")]  

    staticpublicextern IntPtr CreateCompatibleBitmap(IntPtr hDC,int Width,int Heigth);  

    [DllImport("gdi32.dll")]  

    staticpublicextern IntPtr SelectObject(IntPtr hDC, IntPtr hObject);  

    [DllImport("gdi32.dll")]  

    staticpublicexternbool BitBlt(IntPtr hDCDest,int XOriginDest,int YOriginDest,int WidthDest,int HeightDest,  

    IntPtr hDCSrc,int XOriginScr,int YOriginSrc,uint Rop);  

    [DllImport("gdi32.dll")]  

    staticpublicextern IntPtr DeleteDC(IntPtr hDC);  

    [DllImport("gdi32.dll")]  

    staticpublicexternbool PatBlt(IntPtr hDC,int XLeft,int YLeft,int Width,int Height,uint Rop);  

    [DllImport("gdi32.dll")]  

    staticpublicexternbool DeleteObject(IntPtr hObject);  

    [DllImport("gdi32.dll")]  

    staticpublicexternuint GetPixel(IntPtr hDC,int XPos,int YPos);  

    [DllImport("gdi32.dll")]  

    staticpublicexternint SetMapMode(IntPtr hDC,int fnMapMode);  

    [DllImport("gdi32.dll")]  

    staticpublicexternint GetObjectType(IntPtr handle);  

    [DllImport("gdi32")]  

    publicstaticextern IntPtr CreateDIBSection(IntPtr hdc,ref BITMAPINFO_FLAT bmi,   

    int iUsage,refint ppvBits, IntPtr hSection,int dwOffset);  

    [DllImport("gdi32")]  

    publicstaticexternint GetDIBits(IntPtr hDC, IntPtr hbm,int StartScan,int ScanLines,int lpBits, BITMAPINFOHEADER bmi,int usage);  

    [DllImport("gdi32")]  

    publicstaticexternint GetDIBits(IntPtr hdc, IntPtr hbm,int StartScan,int ScanLines,int lpBits,ref BITMAPINFO_FLAT bmi,int usage);  

    [DllImport("gdi32")]  

    publicstaticextern IntPtr GetPaletteEntries(IntPtr hpal,int iStartIndex,int nEntries,byte[] lppe);  

    [DllImport("gdi32")]  

    publicstaticextern IntPtr GetSystemPaletteEntries(IntPtr hdc,int iStartIndex,int nEntries,byte[] lppe);  

    [DllImport("gdi32")]  

    publicstaticexternuint SetDCBrushColor(IntPtr hdc,uint crColor);  

    [DllImport("gdi32")]  

    publicstaticextern IntPtr CreateSolidBrush(uint crColor);  

    [DllImport("gdi32")]  

    publicstaticexternint SetBkMode(IntPtr hDC, BackgroundMode mode);  

    [DllImport("gdi32")]  

    publicstaticexternint SetViewportOrgEx(IntPtr hdc,int x,int y,int param);  

    [DllImport("gdi32")]  

    publicstaticexternuint SetTextColor(IntPtr hDC,uint colorRef);  

    [DllImport("gdi32")]  

    publicstaticexternint SetStretchBltMode(IntPtr hDC,int StrechMode);  

            #endregion  

            #region Uxtheme.dll functions  

    [DllImport("uxtheme.dll")]  

    staticpublicexternint SetWindowTheme(IntPtr hWnd,string AppID,string ClassID);  

            #endregion  

            #region User32.dll functions  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    publicstaticextern IntPtr GetDC(IntPtr hWnd);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternint ReleaseDC(IntPtr hWnd, IntPtr hDC);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    staticpublicextern IntPtr GetDesktopWindow();  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    staticpublicexternbool ShowWindow(IntPtr hWnd,short State);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    staticpublicexternbool UpdateWindow(IntPtr hWnd);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    staticpublicexternbool SetForegroundWindow(IntPtr hWnd);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    staticpublicexternbool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter,int x,int y,int Width,int Height,uint flags);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    staticpublicexternbool OpenClipboard(IntPtr hWndNewOwner);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    staticpublicexternbool CloseClipboard();  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    staticpublicexternbool EmptyClipboard();  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    staticpublicextern IntPtr SetClipboardData(uint Format, IntPtr hData);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    staticpublicexternbool GetMenuItemRect(IntPtr hWnd, IntPtr hMenu,uint Item,ref RECT rc);  

    [DllImport("user32.dll", ExactSpelling=true, CharSet=CharSet.Auto)]  

    publicstaticextern IntPtr GetParent(IntPtr hWnd);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternint SendMessage(IntPtr hWnd,int msg,int wParam,int lParam);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    publicstaticextern IntPtr SendMessage(IntPtr hWnd,int msg,int wParam, IntPtr lParam);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternvoid SendMessage(IntPtr hWnd,int msg,int wParam,ref RECT lParam);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternint SendMessage(IntPtr hWnd,int msg,int wParam,ref POINT lParam);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternvoid SendMessage(IntPtr hWnd,int msg,int wParam,ref TBBUTTON lParam);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternvoid SendMessage(IntPtr hWnd,int msg,int wParam,ref TBBUTTONINFO lParam);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternint SendMessage(IntPtr hWnd,int msg,int wParam,ref REBARBANDINFO lParam);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternvoid SendMessage(IntPtr hWnd,int msg,int wParam,ref TVITEM lParam);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternvoid SendMessage(IntPtr hWnd,int msg,int wParam,ref LVITEM lParam);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternvoid SendMessage(IntPtr hWnd,int msg,int wParam,ref HDITEM lParam);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternvoid SendMessage(IntPtr hWnd,int msg,int wParam,ref HD_HITTESTINFO hti);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    publicstaticextern IntPtr PostMessage(IntPtr hWnd,int msg,int wParam,int lParam);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    publicstaticextern IntPtr SetWindowsHookEx(int hookid, HookProc pfnhook, IntPtr hinst,int threadid);  

    [DllImport("user32.dll", CharSet=CharSet.Auto, ExactSpelling=true)]  

    publicstaticexternbool UnhookWindowsHookEx(IntPtr hhook);  

    [DllImport("user32.dll", CharSet=CharSet.Auto, ExactSpelling=true)]  

    publicstaticextern IntPtr CallNextHookEx(IntPtr hhook,int code, IntPtr wparam, IntPtr lparam);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    publicstaticextern IntPtr SetFocus(IntPtr hWnd);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    publicexternstaticint DrawText(IntPtr hdc,string lpString,int nCount,ref RECT lpRect,int uFormat);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    publicexternstatic IntPtr SetParent(IntPtr hChild, IntPtr hParent);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    publicexternstatic IntPtr GetDlgItem(IntPtr hDlg,int nControlID);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    publicexternstaticint GetClientRect(IntPtr hWnd,ref RECT rc);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    publicexternstaticint InvalidateRect(IntPtr hWnd,  IntPtr rect,int bErase);  

    [DllImport("User32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternbool WaitMessage();  

    [DllImport("User32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternbool PeekMessage(ref MSG msg,int hWnd,uint wFilterMin,uint wFilterMax,uint wFlag);  

    [DllImport("User32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternbool GetMessage(ref MSG msg,int hWnd,uint wFilterMin,uint wFilterMax);  

    [DllImport("User32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternbool TranslateMessage(ref MSG msg);  

    [DllImport("User32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternbool DispatchMessage(ref MSG msg);  

    [DllImport("User32.dll", CharSet=CharSet.Auto)]  

    publicstaticextern IntPtr LoadCursor(IntPtr hInstance,uint cursor);  

    [DllImport("User32.dll", CharSet=CharSet.Auto)]  

    publicstaticextern IntPtr SetCursor(IntPtr hCursor);  

    [DllImport("User32.dll", CharSet=CharSet.Auto)]  

    publicstaticextern IntPtr GetFocus();  

    [DllImport("User32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternbool ReleaseCapture();  

    [DllImport("User32.dll", CharSet=CharSet.Auto)]  

    publicstaticextern IntPtr BeginPaint(IntPtr hWnd,ref PAINTSTRUCT ps);  

    [DllImport("User32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternbool EndPaint(IntPtr hWnd,ref PAINTSTRUCT ps);  

    [DllImport("User32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternbool UpdateLayeredWindow(IntPtr hwnd, IntPtr hdcDst,ref POINT pptDst,ref SIZE psize, IntPtr hdcSrc,ref POINT pprSrc, Int32 crKey,ref BLENDFUNCTION pblend, Int32 dwFlags);  

    [DllImport("User32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternbool GetWindowRect(IntPtr hWnd,ref RECT rect);  

    [DllImport("User32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternbool ClientToScreen(IntPtr hWnd,ref POINT pt);  

    [DllImport("User32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternbool TrackMouseEvent(ref TRACKMOUSEEVENTS tme);  

    [DllImport("User32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternbool SetWindowRgn(IntPtr hWnd, IntPtr hRgn,bool redraw);  

    [DllImport("User32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternushort GetKeyState(int virtKey);  

    [DllImport("User32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternbool MoveWindow(IntPtr hWnd,int x,int y,int width,int height,bool repaint);  

    [DllImport("User32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternint GetClassName(IntPtr hWnd,out STRINGBUFFER ClassName,int nMaxCount);  

    [DllImport("User32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternint SetWindowLong(IntPtr hWnd,int nIndex,int dwNewLong);  

    [DllImport("User32.dll", CharSet=CharSet.Auto)]  

    publicstaticextern IntPtr GetDCEx(IntPtr hWnd, IntPtr hRegion,uint flags);  

    [DllImport("User32.dll", CharSet=CharSet.Auto)]  

    publicstaticextern IntPtr GetWindowDC(IntPtr hWnd);  

    [DllImport("User32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternint FillRect(IntPtr hDC,ref RECT rect, IntPtr hBrush);  

    [DllImport("User32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternint GetWindowPlacement(IntPtr hWnd,ref WINDOWPLACEMENT wp);  

    [DllImport("User32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternint SetWindowText(IntPtr hWnd,string text);  

    [DllImport("User32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternint GetWindowText(IntPtr hWnd,out STRINGBUFFER text,int maxCount);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    staticpublicexternint SendMessage(IntPtr hWnd,int Msg, IntPtr wParam, IntPtr lParam);   

    [DllImport("user32.dll", CharSet=CharSet.Auto)]   

    staticpublicextern IntPtr SetClipboardViewer(IntPtr hWndNewViewer);   

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    staticpublicexternint ChangeClipboardChain(IntPtr hWndRemove, IntPtr hWndNewNext);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    staticpublicexternint GetSystemMetrics(int nIndex);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    staticpublicexternint SetScrollInfo(IntPtr hwnd,int bar,ref SCROLLINFO si,int fRedraw);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternint ShowScrollBar(IntPtr hWnd,int bar,int show);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternint EnableScrollBar(IntPtr hWnd,uint flags,uint arrows);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternint BringWindowToTop(IntPtr hWnd);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternint GetScrollInfo(IntPtr hwnd,int bar,ref SCROLLINFO si);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    staticpublicexternint ScrollWindowEx(IntPtr hWnd,int dx,int dy,   

    ref RECT rcScroll,ref RECT rcClip, IntPtr UpdateRegion,ref RECT rcInvalidated,uint flags);  

    [DllImport("user32.dll", CharSet=CharSet.Auto)]  

    publicstaticexternint IsWindow(IntPtr hWnd);  

    [DllImport("user32",CharSet=CharSet.Auto)]   

    publicstaticexternint GetKeyboardState(byte[] pbKeyState);  

    [DllImport("user32")]   

    publicstaticexternint ToAscii(int uVirtKey,//[in] Specifies the virtual-key code to be translated.   

    int uScanCode,// [in] Specifies the hardware scan code of the key to be translated. The high-order bit of this value is set if the key is up (not pressed).   

    byte[] lpbKeyState,// [in] Pointer to a 256-byte array that contains the current keyboard state. Each element (byte) in the array contains the state of one key. If the high-order bit of a byte is set, the key is down (pressed). The low bit, if set, indicates that the key is toggled on. In this function, only the toggle bit of the CAPS LOCK key is relevant. The toggle state of the NUM LOCK and SCROLL LOCK keys is ignored.  

    byte[] lpwTransKey,// [out] Pointer to the buffer that receives the translated character or characters.   

    int fuState);// [in] Specifies whether a menu is active. This parameter must be 1 if a menu is active, or 0 otherwise.  

            #endregion  

            #region Common Controls functions  

    [DllImport("comctl32.dll")]  

    publicstaticexternbool InitCommonControlsEx(INITCOMMONCONTROLSEX icc);  

    [DllImport("comctl32.dll")]  

    publicstaticexternbool InitCommonControls();  

    [DllImport("comctl32.dll", EntryPoint="DllGetVersion")]  

    publicexternstaticint GetCommonControlDLLVersion(ref DLLVERSIONINFO dvi);  

    [DllImport("comctl32.dll")]  

    publicstaticextern IntPtr ImageList_Create(int width,int height,uint flags,int count,int grow);  

    [DllImport("comctl32.dll")]  

    publicstaticexternbool ImageList_Destroy(IntPtr handle);  

    [DllImport("comctl32.dll")]  

    publicstaticexternint ImageList_Add(IntPtr imageHandle, IntPtr hBitmap, IntPtr hMask);  

    [DllImport("comctl32.dll")]  

    publicstaticexternbool ImageList_Remove(IntPtr imageHandle,int index);  

    [DllImport("comctl32.dll")]  

    publicstaticexternbool ImageList_BeginDrag(IntPtr imageHandle,int imageIndex,int xHotSpot,int yHotSpot);  

    [DllImport("comctl32.dll")]  

    publicstaticexternbool ImageList_DragEnter(IntPtr hWndLock,int x,int y);  

    [DllImport("comctl32.dll")]  

    publicstaticexternbool ImageList_DragMove(int x,int y);  

    [DllImport("comctl32.dll")]  

    publicstaticexternbool ImageList_DragLeave(IntPtr hWndLock);  

    [DllImport("comctl32.dll")]  

    publicstaticexternvoid ImageList_EndDrag();  

            #endregion  

            #region Win32 Macro-Like helpers  

    publicstaticint GET_X_LPARAM(int lParam)  

            {  

    return (lParam & 0xffff);  

            }  

    publicstaticint GET_Y_LPARAM(int lParam)  

            {  

    return (lParam >> 16);  

            }  

    publicstatic Point GetPointFromLPARAM(int lParam)  

            {  

    returnnew Point(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam));  

            }  

    publicstaticint LOW_ORDER(int param)  

            {  

    return (param & 0xffff);  

            }  

    publicstaticint HIGH_ORDER(int param)  

            {  

    return (param >> 16);  

            }  

            #endregion  

        }  

    }  

    Enums.cs,

    [csharp]view plaincopy

    using System;  

    using System.Runtime.InteropServices;  

    using System.Drawing;  

    using Lordal.Window.Form.Lib.General;  

    using Lordal.Window.Form.Lib.Win32;  

    namespace Lordeo.Framework  

    {  

    ///   

    /// Window API enumerations  

    ///   

        #region Peek Message Flags  

    publicenum PeekMessageFlags  

        {  

            PM_NOREMOVE     = 0,  

            PM_REMOVE       = 1,  

            PM_NOYIELD      = 2  

        }  

        #endregion  

        #region Windows Messages  

    publicenum WinMsg  

        {  

            WM_NULL                   = 0x0000,  

            WM_CREATE                 = 0x0001,  

            WM_DESTROY                = 0x0002,  

            WM_MOVE                   = 0x0003,  

            WM_SIZE                   = 0x0005,  

            WM_ACTIVATE               = 0x0006,  

            WM_SETFOCUS               = 0x0007,  

            WM_KILLFOCUS              = 0x0008,  

            WM_ENABLE                 = 0x000A,  

            WM_SETREDRAW              = 0x000B,  

            WM_SETTEXT                = 0x000C,  

            WM_GETTEXT                = 0x000D,  

            WM_GETTEXTLENGTH          = 0x000E,  

            WM_PAINT                  = 0x000F,  

            WM_CLOSE                  = 0x0010,  

            WM_QUERYENDSESSION        = 0x0011,  

            WM_QUIT                   = 0x0012,  

            WM_QUERYOPEN              = 0x0013,  

            WM_ERASEBKGND             = 0x0014,  

            WM_SYSCOLORCHANGE         = 0x0015,  

            WM_ENDSESSION             = 0x0016,  

            WM_SHOWWINDOW             = 0x0018,  

            WM_CTLCOLOR               = 0x0019,  

            WM_WININICHANGE           = 0x001A,  

            WM_SETTINGCHANGE          = 0x001A,  

            WM_DEVMODECHANGE          = 0x001B,  

            WM_ACTIVATEAPP            = 0x001C,  

            WM_FONTCHANGE             = 0x001D,  

            WM_TIMECHANGE             = 0x001E,  

            WM_CANCELMODE             = 0x001F,  

            WM_SETCURSOR              = 0x0020,  

            WM_MOUSEACTIVATE          = 0x0021,  

            WM_CHILDACTIVATE          = 0x0022,  

            WM_QUEUESYNC              = 0x0023,  

            WM_GETMINMAXINFO          = 0x0024,  

            WM_PAINTICON              = 0x0026,  

            WM_ICONERASEBKGND         = 0x0027,  

            WM_NEXTDLGCTL             = 0x0028,  

            WM_SPOOLERSTATUS          = 0x002A,  

            WM_DRAWITEM               = 0x002B,  

            WM_MEASUREITEM            = 0x002C,  

            WM_DELETEITEM             = 0x002D,  

            WM_VKEYTOITEM             = 0x002E,  

            WM_CHARTOITEM             = 0x002F,  

            WM_SETFONT                = 0x0030,  

            WM_GETFONT                = 0x0031,  

            WM_SETHOTKEY              = 0x0032,  

            WM_GETHOTKEY              = 0x0033,  

            WM_QUERYDRAGICON          = 0x0037,  

            WM_COMPAREITEM            = 0x0039,  

            WM_GETOBJECT              = 0x003D,  

            WM_COMPACTING             = 0x0041,  

            WM_COMMNOTIFY             = 0x0044 ,  

            WM_WINDOWPOSCHANGING      = 0x0046,  

            WM_WINDOWPOSCHANGED       = 0x0047,  

            WM_POWER                  = 0x0048,  

            WM_COPYDATA               = 0x004A,  

            WM_CANCELJOURNAL          = 0x004B,  

            WM_NOTIFY                 = 0x004E,  

            WM_INPUTLANGCHANGEREQUEST = 0x0050,  

            WM_INPUTLANGCHANGE        = 0x0051,  

            WM_TCARD                  = 0x0052,  

            WM_HELP                   = 0x0053,  

            WM_USERCHANGED            = 0x0054,  

            WM_NOTIFYFORMAT           = 0x0055,  

            WM_CONTEXTMENU            = 0x007B,  

            WM_STYLECHANGING          = 0x007C,  

            WM_STYLECHANGED           = 0x007D,  

            WM_DISPLAYCHANGE          = 0x007E,  

            WM_GETICON                = 0x007F,  

            WM_SETICON                = 0x0080,  

            WM_NCCREATE               = 0x0081,  

            WM_NCDESTROY              = 0x0082,  

            WM_NCCALCSIZE             = 0x0083,  

            WM_NCHITTEST              = 0x0084,  

            WM_NCPAINT                = 0x0085,  

            WM_NCACTIVATE             = 0x0086,  

            WM_GETDLGCODE             = 0x0087,  

            WM_SYNCPAINT              = 0x0088,  

            WM_NCMOUSEMOVE            = 0x00A0,  

            WM_NCLBUTTONDOWN          = 0x00A1,  

            WM_NCLBUTTONUP            = 0x00A2,  

            WM_NCLBUTTONDBLCLK        = 0x00A3,  

            WM_NCRBUTTONDOWN          = 0x00A4,  

            WM_NCRBUTTONUP            = 0x00A5,  

            WM_NCRBUTTONDBLCLK        = 0x00A6,  

            WM_NCMBUTTONDOWN          = 0x00A7,  

            WM_NCMBUTTONUP            = 0x00A8,  

            WM_NCMBUTTONDBLCLK        = 0x00A9,  

            WM_KEYDOWN                = 0x0100,  

            WM_KEYUP                  = 0x0101,  

            WM_CHAR                   = 0x0102,  

            WM_DEADCHAR               = 0x0103,  

            WM_SYSKEYDOWN             = 0x0104,  

            WM_SYSKEYUP               = 0x0105,  

            WM_SYSCHAR                = 0x0106,  

            WM_SYSDEADCHAR            = 0x0107,  

            WM_KEYLAST                = 0x0108,  

            WM_IME_STARTCOMPOSITION   = 0x010D,  

            WM_IME_ENDCOMPOSITION     = 0x010E,  

            WM_IME_COMPOSITION        = 0x010F,  

            WM_IME_KEYLAST            = 0x010F,  

            WM_INITDIALOG             = 0x0110,  

            WM_COMMAND                = 0x0111,  

            WM_SYSCOMMAND             = 0x0112,  

            WM_TIMER                  = 0x0113,  

            WM_HSCROLL                = 0x0114,  

            WM_VSCROLL                = 0x0115,  

            WM_INITMENU               = 0x0116,  

            WM_INITMENUPOPUP          = 0x0117,  

            WM_MENUSELECT             = 0x011F,  

            WM_MENUCHAR               = 0x0120,  

            WM_ENTERIDLE              = 0x0121,  

            WM_MENURBUTTONUP          = 0x0122,  

            WM_MENUDRAG               = 0x0123,  

            WM_MENUGETOBJECT          = 0x0124,  

            WM_UNINITMENUPOPUP        = 0x0125,  

            WM_MENUCOMMAND            = 0x0126,  

            WM_CTLCOLORWinMsgBOX      = 0x0132,  

            WM_CTLCOLOREDIT           = 0x0133,  

            WM_CTLCOLORLISTBOX        = 0x0134,  

            WM_CTLCOLORBTN            = 0x0135,  

            WM_CTLCOLORDLG            = 0x0136,  

            WM_CTLCOLORSCROLLBAR      = 0x0137,  

            WM_CTLCOLORSTATIC         = 0x0138,  

            WM_MOUSEMOVE              = 0x0200,  

            WM_LBUTTONDOWN            = 0x0201,  

            WM_LBUTTONUP              = 0x0202,  

            WM_LBUTTONDBLCLK          = 0x0203,  

            WM_RBUTTONDOWN            = 0x0204,  

            WM_RBUTTONUP              = 0x0205,  

            WM_RBUTTONDBLCLK          = 0x0206,  

            WM_MBUTTONDOWN            = 0x0207,  

            WM_MBUTTONUP              = 0x0208,  

            WM_MBUTTONDBLCLK          = 0x0209,  

            WM_MOUSEWHEEL             = 0x020A,  

            WM_PARENTNOTIFY           = 0x0210,  

            WM_ENTERMENULOOP          = 0x0211,  

            WM_EXITMENULOOP           = 0x0212,  

            WM_NEXTMENU               = 0x0213,  

            WM_SIZING                 = 0x0214,  

            WM_CAPTURECHANGED         = 0x0215,  

            WM_MOVING                 = 0x0216,  

            WM_DEVICECHANGE           = 0x0219,  

            WM_MDICREATE              = 0x0220,  

            WM_MDIDESTROY             = 0x0221,  

            WM_MDIACTIVATE            = 0x0222,  

            WM_MDIRESTORE             = 0x0223,  

            WM_MDINEXT                = 0x0224,  

            WM_MDIMAXIMIZE            = 0x0225,  

            WM_MDITILE                = 0x0226,  

            WM_MDICASCADE             = 0x0227,  

            WM_MDIICONARRANGE         = 0x0228,  

            WM_MDIGETACTIVE           = 0x0229,  

            WM_MDISETMENU             = 0x0230,  

            WM_ENTERSIZEMOVE          = 0x0231,  

            WM_EXITSIZEMOVE           = 0x0232,  

            WM_DROPFILES              = 0x0233,  

            WM_MDIREFRESHMENU         = 0x0234,  

            WM_IME_SETCONTEXT         = 0x0281,  

            WM_IME_NOTIFY             = 0x0282,  

            WM_IME_CONTROL            = 0x0283,  

            WM_IME_COMPOSITIONFULL    = 0x0284,  

            WM_IME_SELECT             = 0x0285,  

            WM_IME_CHAR               = 0x0286,  

            WM_IME_REQUEST            = 0x0288,  

            WM_IME_KEYDOWN            = 0x0290,  

            WM_IME_KEYUP              = 0x0291,  

            WM_MOUSEHOVER             = 0x02A1,  

            WM_MOUSELEAVE             = 0x02A3,  

            WM_CUT                    = 0x0300,  

            WM_COPY                   = 0x0301,  

            WM_PASTE                  = 0x0302,  

            WM_CLEAR                  = 0x0303,  

            WM_UNDO                   = 0x0304,  

            WM_RENDERFORMAT           = 0x0305,  

            WM_RENDERALLFORMATS       = 0x0306,  

            WM_DESTROYCLIPBOARD       = 0x0307,  

            WM_DRAWCLIPBOARD          = 0x0308,  

            WM_PAINTCLIPBOARD         = 0x0309,  

            WM_VSCROLLCLIPBOARD       = 0x030A,  

            WM_SIZECLIPBOARD          = 0x030B,  

            WM_ASKCBFORMATNAME        = 0x030C,  

            WM_CHANGECBCHAIN          = 0x030D,  

            WM_HSCROLLCLIPBOARD       = 0x030E,  

            WM_QUERYNEWPALETTE        = 0x030F,  

            WM_PALETTEISCHANGING      = 0x0310,  

            WM_PALETTECHANGED         = 0x0311,  

            WM_HOTKEY                 = 0x0312,  

            WM_PRINT                  = 0x0317,  

            WM_PRINTCLIENT            = 0x0318,  

            WM_HANDHELDFIRST          = 0x0358,  

            WM_HANDHELDLAST           = 0x035F,  

            WM_AFXFIRST               = 0x0360,  

            WM_AFXLAST                = 0x037F,  

            WM_PENWINFIRST            = 0x0380,  

            WM_PENWINLAST             = 0x038F,  

            WM_APP                    = 0x8000,  

            WM_USER                   = 0x0400,  

            WM_REFLECT                = WM_USER + 0x1c00  

        }  

        #endregion  

        #region Window Styles  

    publicenum WindowStyles :uint  

        {  

            WS_OVERLAPPED       = 0x00000000,  

            WS_POPUP            = 0x80000000,  

            WS_CHILD            = 0x40000000,  

            WS_MINIMIZE         = 0x20000000,  

            WS_VISIBLE          = 0x10000000,  

            WS_DISABLED         = 0x08000000,  

            WS_CLIPSIBLINGS     = 0x04000000,  

            WS_CLIPCHILDREN     = 0x02000000,  

            WS_MAXIMIZE         = 0x01000000,  

            WS_CAPTION          = 0x00C00000,  

            WS_BORDER           = 0x00800000,  

            WS_DLGFRAME         = 0x00400000,  

            WS_VSCROLL          = 0x00200000,  

            WS_HSCROLL          = 0x00100000,  

            WS_SYSMENU          = 0x00080000,  

            WS_THICKFRAME       = 0x00040000,  

            WS_GROUP            = 0x00020000,  

            WS_TABSTOP          = 0x00010000,  

            WS_MINIMIZEBOX      = 0x00020000,  

            WS_MAXIMIZEBOX      = 0x00010000,  

            WS_TILED            = 0x00000000,  

            WS_ICONIC           = 0x20000000,  

            WS_SIZEBOX          = 0x00040000,  

            WS_POPUPWINDOW      = 0x80880000,  

            WS_OVERLAPPEDWINDOW = 0x00CF0000,  

            WS_TILEDWINDOW      = 0x00CF0000,  

            WS_CHILDWINDOW      = 0x40000000  

        }  

        #endregion  

        #region Window Extended Styles  

    publicenum WindowExStyles  

        {  

            WS_EX_DLGMODALFRAME     = 0x00000001,  

            WS_EX_NOPARENTNOTIFY    = 0x00000004,  

            WS_EX_TOPMOST           = 0x00000008,  

            WS_EX_ACCEPTFILES       = 0x00000010,  

            WS_EX_TRANSPARENT       = 0x00000020,  

            WS_EX_MDICHILD          = 0x00000040,  

            WS_EX_TOOLWINDOW        = 0x00000080,  

            WS_EX_WINDOWEDGE        = 0x00000100,  

            WS_EX_CLIENTEDGE        = 0x00000200,  

            WS_EX_CONTEXTHELP       = 0x00000400,  

            WS_EX_RIGHT             = 0x00001000,  

            WS_EX_LEFT              = 0x00000000,  

            WS_EX_RTLREADING        = 0x00002000,  

            WS_EX_LTRREADING        = 0x00000000,  

            WS_EX_LEFTSCROLLBAR     = 0x00004000,  

            WS_EX_RIGHTSCROLLBAR    = 0x00000000,  

            WS_EX_CONTROLPARENT     = 0x00010000,  

            WS_EX_STATICEDGE        = 0x00020000,  

            WS_EX_APPWINDOW         = 0x00040000,  

            WS_EX_OVERLAPPEDWINDOW  = 0x00000300,  

            WS_EX_PALETTEWINDOW     = 0x00000188,  

            WS_EX_LAYERED           = 0x00080000  

        }  

        #endregion  

        #region ShowWindow Styles  

    publicenum ShowWindowStyles :short  

        {  

            SW_HIDE             = 0,  

            SW_SHOWNORMAL       = 1,  

            SW_NORMAL           = 1,  

            SW_SHOWMINIMIZED    = 2,  

            SW_SHOWMAXIMIZED    = 3,  

            SW_MAXIMIZE         = 3,  

            SW_SHOWNOACTIVATE   = 4,  

            SW_SHOW             = 5,  

            SW_MINIMIZE         = 6,  

            SW_SHOWMINNOACTIVE  = 7,  

            SW_SHOWNA           = 8,  

            SW_RESTORE          = 9,  

            SW_SHOWDEFAULT      = 10,  

            SW_FORCEMINIMIZE    = 11,  

            SW_MAX              = 11  

        }  

        #endregion  

        #region SetWindowPos Z Order  

    publicenum SetWindowPosZOrder  

        {  

            HWND_TOP        = 0,  

            HWND_BOTTOM     = 1,  

            HWND_TOPMOST    = -1,  

            HWND_NOTOPMOST  = -2  

        }  

        #endregion  

        #region SetWindowPosFlags  

    publicenum SetWindowPosFlags :uint  

        {  

            SWP_NOSIZE          = 0x0001,  

            SWP_NOMOVE          = 0x0002,  

            SWP_NOZORDER        = 0x0004,  

            SWP_NOREDRAW        = 0x0008,  

            SWP_NOACTIVATE      = 0x0010,  

            SWP_FRAMECHANGED    = 0x0020,  

            SWP_SHOWWINDOW      = 0x0040,  

            SWP_HIDEWINDOW      = 0x0080,  

            SWP_NOCOPYBITS      = 0x0100,  

            SWP_NOOWNERZORDER   = 0x0200,   

            SWP_NOSENDCHANGING  = 0x0400,  

            SWP_DRAWFRAME       = 0x0020,  

            SWP_NOREPOSITION    = 0x0200,  

            SWP_DEFERERASE      = 0x2000,  

            SWP_ASYNCWINDOWPOS  = 0x4000  

        }  

        #endregion  

        #region Virtual Keys  

    publicenum VirtualKeys  

        {  

            VK_LBUTTON      = 0x01,  

            VK_CANCEL       = 0x03,  

            VK_BACK         = 0x08,  

            VK_TAB          = 0x09,  

            VK_CLEAR        = 0x0C,  

            VK_RETURN       = 0x0D,  

            VK_SHIFT        = 0x10,  

            VK_CONTROL      = 0x11,  

            VK_MENU         = 0x12,  

            VK_CAPITAL      = 0x14,  

            VK_ESCAPE       = 0x1B,  

            VK_SPACE        = 0x20,  

            VK_PRIOR        = 0x21,  

            VK_NEXT         = 0x22,  

            VK_END          = 0x23,  

            VK_HOME         = 0x24,  

            VK_LEFT         = 0x25,  

            VK_UP           = 0x26,  

            VK_RIGHT        = 0x27,  

            VK_DOWN         = 0x28,  

            VK_SELECT       = 0x29,  

            VK_EXECUTE      = 0x2B,  

            VK_SNAPSHOT     = 0x2C,  

            VK_HELP         = 0x2F,  

            VK_0            = 0x30,  

            VK_1            = 0x31,  

            VK_2            = 0x32,  

            VK_3            = 0x33,  

            VK_4            = 0x34,  

            VK_5            = 0x35,  

            VK_6            = 0x36,  

            VK_7            = 0x37,  

            VK_8            = 0x38,  

            VK_9            = 0x39,  

            VK_A            = 0x41,  

            VK_B            = 0x42,  

            VK_C            = 0x43,  

            VK_D            = 0x44,  

            VK_E            = 0x45,  

            VK_F            = 0x46,  

            VK_G            = 0x47,  

            VK_H            = 0x48,  

            VK_I            = 0x49,  

            VK_J            = 0x4A,  

            VK_K            = 0x4B,  

            VK_L            = 0x4C,  

            VK_M            = 0x4D,  

            VK_N            = 0x4E,  

            VK_O            = 0x4F,  

            VK_P            = 0x50,  

            VK_Q            = 0x51,  

            VK_R            = 0x52,  

            VK_S            = 0x53,  

            VK_T            = 0x54,  

            VK_U            = 0x55,  

            VK_V            = 0x56,  

            VK_W            = 0x57,  

            VK_X            = 0x58,  

            VK_Y            = 0x59,  

            VK_Z            = 0x5A,  

            VK_NUMPAD0      = 0x60,  

            VK_NUMPAD1      = 0x61,  

            VK_NUMPAD2      = 0x62,  

            VK_NUMPAD3      = 0x63,  

            VK_NUMPAD4      = 0x64,  

            VK_NUMPAD5      = 0x65,  

            VK_NUMPAD6      = 0x66,  

            VK_NUMPAD7      = 0x67,  

            VK_NUMPAD8      = 0x68,  

            VK_NUMPAD9      = 0x69,  

            VK_MULTIPLY     = 0x6A,  

            VK_ADD          = 0x6B,  

            VK_SEPARATOR    = 0x6C,  

            VK_SUBTRACT     = 0x6D,  

            VK_DECIMAL      = 0x6E,  

            VK_DIVIDE       = 0x6F,  

            VK_ATTN         = 0xF6,  

            VK_CRSEL        = 0xF7,  

            VK_EXSEL        = 0xF8,  

            VK_EREOF        = 0xF9,  

            VK_PLAY         = 0xFA,    

            VK_ZOOM         = 0xFB,  

            VK_NONAME       = 0xFC,  

            VK_PA1          = 0xFD,  

            VK_OEM_CLEAR    = 0xFE,  

            VK_LWIN         = 0x5B,  

            VK_RWIN         = 0x5C,  

            VK_APPS         = 0x5D,     

            VK_LSHIFT       = 0xA0,     

            VK_RSHIFT       = 0xA1,     

            VK_LCONTROL     = 0xA2,     

            VK_RCONTROL     = 0xA3,     

            VK_LMENU        = 0xA4,     

            VK_RMENU        = 0xA5  

        }  

        #endregion  

        #region PatBlt Types  

    publicenum PatBltTypes  

        {  

            SRCCOPY          =   0x00CC0020,  

            SRCPAINT         =   0x00EE0086,  

            SRCAND           =   0x008800C6,  

            SRCINVERT        =   0x00660046,  

            SRCERASE         =   0x00440328,  

            NOTSRCCOPY       =   0x00330008,  

            NOTSRCERASE      =   0x001100A6,  

            MERGECOPY        =   0x00C000CA,  

            MERGEPAINT       =   0x00BB0226,  

            PATCOPY          =   0x00F00021,  

            PATPAINT         =   0x00FB0A09,  

            PATINVERT        =   0x005A0049,  

            DSTINVERT        =   0x00550009,  

            BLACKNESS        =   0x00000042,  

            WHITENESS        =   0x00FF0062  

        }  

        #endregion  

        #region Clipboard Formats  

    publicenum ClipboardFormats :uint  

        {             

            CF_TEXT             = 1,  

            CF_BITMAP           = 2,  

            CF_METAFILEPICT     = 3,  

            CF_SYLK             = 4,  

            CF_DIF              = 5,  

            CF_TIFF             = 6,  

            CF_OEMTEXT          = 7,  

            CF_DIB              = 8,  

            CF_PALETTE          = 9,  

            CF_PENDATA          = 10,  

            CF_RIFF             = 11,  

            CF_WAVE             = 12,  

            CF_UNICODETEXT      = 13,  

            CF_ENHMETAFILE      = 14,  

            CF_HDROP            = 15,  

            CF_LOCALE           = 16,  

            CF_MAX              = 17,  

            CF_OWNERDISPLAY     = 0x0080,  

            CF_DSPTEXT          = 0x0081,  

            CF_DSPBITMAP        = 0x0082,  

            CF_DSPMETAFILEPICT  = 0x0083,  

            CF_DSPENHMETAFILE   = 0x008E,  

            CF_PRIVATEFIRST     = 0x0200,  

            CF_PRIVATELAST      = 0x02FF,  

            CF_GDIOBJFIRST      = 0x0300,  

            CF_GDIOBJLAST       = 0x03FF  

        }  

        #endregion  

        #region Common Controls Initialization flags  

    publicenum CommonControlInitFlags  

        {  

            ICC_LISTVIEW_CLASSES   = 0x00000001,   

            ICC_TREEVIEW_CLASSES   = 0x00000002,   

            ICC_BAR_CLASSES        = 0x00000004,   

            ICC_TAB_CLASSES        = 0x00000008,   

            ICC_UPDOWN_CLASS       = 0x00000010,   

            ICC_PROGRESS_CLASS     = 0x00000020,   

            ICC_HOTKEY_CLASS       = 0x00000040,   

            ICC_ANIMATE_CLASS      = 0x00000080,   

            ICC_WIN95_CLASSES      = 0x000000FF,  

            ICC_DATE_CLASSES       = 0x00000100,   

            ICC_USEREX_CLASSES     = 0x00000200,  

            ICC_COOL_CLASSES       = 0x00000400,   

            ICC_INTERNET_CLASSES   = 0x00000800,  

            ICC_PAGESCROLLER_CLASS = 0x00001000,   

            ICC_NATIVEFNTCTL_CLASS = 0x00002000    

        }  

        #endregion  

        #region Common Controls Styles  

    publicenum CommonControlStyles  

        {  

            CCS_TOP                 = 0x00000001,  

            CCS_NOMOVEY             = 0x00000002,  

            CCS_BOTTOM              = 0x00000003,  

            CCS_NORESIZE            = 0x00000004,  

            CCS_NOPARENTALIGN       = 0x00000008,  

            CCS_ADJUSTABLE          = 0x00000020,  

            CCS_NODIVIDER           = 0x00000040,  

            CCS_VERT                = 0x00000080,  

            CCS_LEFT                = (CCS_VERT | CCS_TOP),  

            CCS_RIGHT               = (CCS_VERT | CCS_BOTTOM),  

            CCS_NOMOVEX             = (CCS_VERT | CCS_NOMOVEY)  

        }  

        #endregion  

        #region ToolBar Styles  

    publicenum ToolBarStyles  

        {  

            TBSTYLE_BUTTON          = 0x0000,  

            TBSTYLE_SEP             = 0x0001,  

            TBSTYLE_CHECK           = 0x0002,  

            TBSTYLE_GROUP           = 0x0004,  

            TBSTYLE_CHECKGROUP      = (TBSTYLE_GROUP | TBSTYLE_CHECK),  

            TBSTYLE_DROPDOWN        = 0x0008,  

            TBSTYLE_AUTOSIZE        = 0x0010,  

            TBSTYLE_NOPREFIX        = 0x0020,   

            TBSTYLE_TOOLTIPS        = 0x0100,  

            TBSTYLE_WRAPABLE        = 0x0200,  

            TBSTYLE_ALTDRAG         = 0x0400,  

            TBSTYLE_FLAT            = 0x0800,  

            TBSTYLE_LIST            = 0x1000,  

            TBSTYLE_CUSTOMERASE     = 0x2000,  

            TBSTYLE_REGISTERDROP    = 0x4000,  

            TBSTYLE_TRANSPARENT     = 0x8000,  

            TBSTYLE_EX_DRAWDDARROWS = 0x00000001  

        }  

        #endregion  

        #region ToolBar Ex Styles  

    publicenum ToolBarExStyles  

        {  

            TBSTYLE_EX_DRAWDDARROWS         = 0x1,  

            TBSTYLE_EX_HIDECLIPPEDBUTTONS   = 0x10,  

            TBSTYLE_EX_DOUBLEBUFFER         = 0x80  

        }  

        #endregion  

        #region ToolBar Messages  

    publicenum ToolBarMessages  

        {  

            WM_USER                 =  0x0400,  

            TB_ENABLEBUTTON         = (WM_USER + 1),  

            TB_CHECKBUTTON          = (WM_USER + 2),  

            TB_PRESSBUTTON          = (WM_USER + 3),  

            TB_HIDEBUTTON           = (WM_USER + 4),  

            TB_INDETERMINATE        = (WM_USER + 5),  

            TB_MARKBUTTON           = (WM_USER + 6),  

            TB_ISBUTTONENABLED      = (WM_USER + 9),  

            TB_ISBUTTONCHECKED      = (WM_USER + 10),  

            TB_ISBUTTONPRESSED      = (WM_USER + 11),  

            TB_ISBUTTONHIDDEN       = (WM_USER + 12),  

            TB_ISBUTTONINDETERMINATE= (WM_USER + 13),  

            TB_ISBUTTONHIGHLIGHTED  = (WM_USER + 14),  

            TB_SETSTATE             = (WM_USER + 17),  

            TB_GETSTATE             = (WM_USER + 18),  

            TB_ADDBITMAP            = (WM_USER + 19),  

            TB_ADDBUTTONSA          = (WM_USER + 20),  

            TB_INSERTBUTTONA        = (WM_USER + 21),  

            TB_ADDBUTTONS           = (WM_USER + 20),  

            TB_INSERTBUTTON         = (WM_USER + 21),  

            TB_DELETEBUTTON         = (WM_USER + 22),  

            TB_GETBUTTON            = (WM_USER + 23),  

            TB_BUTTONCOUNT          = (WM_USER + 24),  

            TB_COMMANDTOINDEX       = (WM_USER + 25),  

            TB_SAVERESTOREA         = (WM_USER + 26),  

            TB_CUSTOMIZE            = (WM_USER + 27),  

            TB_ADDSTRINGA           = (WM_USER + 28),  

            TB_GETITEMRECT          = (WM_USER + 29),  

            TB_BUTTONSTRUCTSIZE     = (WM_USER + 30),  

            TB_SETBUTTONSIZE        = (WM_USER + 31),  

            TB_SETBITMAPSIZE        = (WM_USER + 32),  

            TB_AUTOSIZE             = (WM_USER + 33),  

            TB_GETTOOLTIPS          = (WM_USER + 35),  

            TB_SETTOOLTIPS          = (WM_USER + 36),  

            TB_SETPARENT            = (WM_USER + 37),  

            TB_SETROWS              = (WM_USER + 39),  

            TB_GETROWS              = (WM_USER + 40),  

            TB_GETBITMAPFLAGS       = (WM_USER + 41),  

            TB_SETCMDID             = (WM_USER + 42),  

            TB_CHANGEBITMAP         = (WM_USER + 43),  

            TB_GETBITMAP            = (WM_USER + 44),  

            TB_GETBUTTONTEXTA       = (WM_USER + 45),  

            TB_GETBUTTONTEXTW       = (WM_USER + 75),  

            TB_REPLACEBITMAP        = (WM_USER + 46),  

            TB_SETINDENT            = (WM_USER + 47),  

            TB_SETIMAGELIST         = (WM_USER + 48),  

            TB_GETIMAGELIST         = (WM_USER + 49),  

            TB_LOADIMAGES           = (WM_USER + 50),  

            TB_GETRECT              = (WM_USER + 51),  

            TB_SETHOTIMAGELIST      = (WM_USER + 52),  

            TB_GETHOTIMAGELIST      = (WM_USER + 53),  

            TB_SETDISABLEDIMAGELIST = (WM_USER + 54),  

            TB_GETDISABLEDIMAGELIST = (WM_USER + 55),  

            TB_SETSTYLE             = (WM_USER + 56),  

            TB_GETSTYLE             = (WM_USER + 57),  

            TB_GETBUTTONSIZE        = (WM_USER + 58),  

            TB_SETBUTTONWIDTH       = (WM_USER + 59),  

            TB_SETMAXTEXTROWS       = (WM_USER + 60),  

            TB_GETTEXTROWS          = (WM_USER + 61),  

            TB_GETOBJECT            = (WM_USER + 62),   

            TB_GETBUTTONINFOW       = (WM_USER + 63),  

            TB_SETBUTTONINFOW       = (WM_USER + 64),  

            TB_GETBUTTONINFOA       = (WM_USER + 65),  

            TB_SETBUTTONINFOA       = (WM_USER + 66),  

            TB_INSERTBUTTONW        = (WM_USER + 67),  

            TB_ADDBUTTONSW          = (WM_USER + 68),  

            TB_HITTEST              = (WM_USER + 69),  

            TB_SETDRAWTEXTFLAGS     = (WM_USER + 70),  

            TB_GETHOTITEM           = (WM_USER + 71),  

            TB_SETHOTITEM           = (WM_USER + 72),   

            TB_SETANCHORHIGHLIGHT   = (WM_USER + 73),    

            TB_GETANCHORHIGHLIGHT   = (WM_USER + 74),  

            TB_SAVERESTOREW         = (WM_USER + 76),  

            TB_ADDSTRINGW           = (WM_USER + 77),  

            TB_MAPACCELERATORA      = (WM_USER + 78),   

            TB_GETINSERTMARK        = (WM_USER + 79),   

            TB_SETINSERTMARK        = (WM_USER + 80),   

            TB_INSERTMARKHITTEST    = (WM_USER + 81),    

            TB_MOVEBUTTON           = (WM_USER + 82),  

            TB_GETMAXSIZE           = (WM_USER + 83),    

            TB_SETEXTENDEDSTYLE     = (WM_USER + 84),    

            TB_GETEXTENDEDSTYLE     = (WM_USER + 85),    

            TB_GETPADDING           = (WM_USER + 86),  

            TB_SETPADDING           = (WM_USER + 87),  

            TB_SETINSERTMARKCOLOR   = (WM_USER + 88),  

            TB_GETINSERTMARKCOLOR   = (WM_USER + 89)  

        }  

        #endregion  

        #region ToolBar Notifications  

    publicenum ToolBarNotifications  

        {  

            TTN_NEEDTEXTA       = ((0-520)-0),  

            TTN_NEEDTEXTW       = ((0-520)-10),  

            TBN_QUERYINSERT     = ((0-700)-6),  

            TBN_DROPDOWN        = ((0-700)-10),  

            TBN_HOTITEMCHANGE   = ((0 - 700) - 13)  

        }  

        #endregion  

        #region Reflected Messages  

    publicenum ReflectedMessages  

        {  

            OCM__BASE               = (WinMsg.WM_USER+0x1c00),  

            OCM_COMMAND             = (OCM__BASE + WinMsg.WM_COMMAND),  

            OCM_CTLCOLORBTN         = (OCM__BASE + WinMsg.WM_CTLCOLORBTN),  

            OCM_CTLCOLOREDIT        = (OCM__BASE + WinMsg.WM_CTLCOLOREDIT),  

            OCM_CTLCOLORDLG         = (OCM__BASE + WinMsg.WM_CTLCOLORDLG),  

            OCM_CTLCOLORLISTBOX     = (OCM__BASE + WinMsg.WM_CTLCOLORLISTBOX),  

            OCM_CTLCOLORWinMsgBOX       = (OCM__BASE + WinMsg.WM_CTLCOLORWinMsgBOX),  

            OCM_CTLCOLORSCROLLBAR   = (OCM__BASE + WinMsg.WM_CTLCOLORSCROLLBAR),  

            OCM_CTLCOLORSTATIC      = (OCM__BASE + WinMsg.WM_CTLCOLORSTATIC),  

            OCM_CTLCOLOR            = (OCM__BASE + WinMsg.WM_CTLCOLOR),  

            OCM_DRAWITEM            = (OCM__BASE + WinMsg.WM_DRAWITEM),  

            OCM_MEASUREITEM         = (OCM__BASE + WinMsg.WM_MEASUREITEM),  

            OCM_DELETEITEM          = (OCM__BASE + WinMsg.WM_DELETEITEM),  

            OCM_VKEYTOITEM          = (OCM__BASE + WinMsg.WM_VKEYTOITEM),  

            OCM_CHARTOITEM          = (OCM__BASE + WinMsg.WM_CHARTOITEM),  

            OCM_COMPAREITEM         = (OCM__BASE + WinMsg.WM_COMPAREITEM),  

            OCM_HSCROLL             = (OCM__BASE + WinMsg.WM_HSCROLL),  

            OCM_VSCROLL             = (OCM__BASE + WinMsg.WM_VSCROLL),  

            OCM_PARENTNOTIFY        = (OCM__BASE + WinMsg.WM_PARENTNOTIFY),  

            OCM_NOTIFY              = (OCM__BASE + WinMsg.WM_NOTIFY)  

        }  

        #endregion  

        #region Notification Messages  

    publicenum NotificationMessages  

        {  

            NM_FIRST      = (0-0),  

            NM_CUSTOMDRAW = (NM_FIRST-12),  

            NM_NCHITTEST  = (NM_FIRST-14)   

        }  

        #endregion  

        #region ToolTip Flags  

    publicenum ToolTipFlags  

        {  

            TTF_CENTERTIP           = 0x0002,  

            TTF_RTLREADING          = 0x0004,  

            TTF_SUBCLASS            = 0x0010,  

            TTF_TRACK               = 0x0020,  

            TTF_ABSOLUTE            = 0x0080,  

            TTF_TRANSPARENT         = 0x0100,  

            TTF_DI_SETITEM          = 0x8000     

        }  

        #endregion  

        #region Custom Draw Return Flags  

    publicenum CustomDrawReturnFlags  

        {  

            CDRF_DODEFAULT          = 0x00000000,  

            CDRF_NEWFONT            = 0x00000002,  

            CDRF_SKIPDEFAULT        = 0x00000004,  

            CDRF_NOTIFYPOSTPAINT    = 0x00000010,  

            CDRF_NOTIFYITEMDRAW     = 0x00000020,  

            CDRF_NOTIFYSUBITEMDRAW  = 0x00000020,   

            CDRF_NOTIFYPOSTERASE    = 0x00000040  

        }  

        #endregion  

        #region Custom Draw Item State Flags  

    publicenum CustomDrawItemStateFlags  

        {  

            CDIS_SELECTED       = 0x0001,  

            CDIS_GRAYED         = 0x0002,  

            CDIS_DISABLED       = 0x0004,  

            CDIS_CHECKED        = 0x0008,  

            CDIS_FOCUS          = 0x0010,  

            CDIS_DEFAULT        = 0x0020,  

            CDIS_HOT            = 0x0040,  

            CDIS_MARKED         = 0x0080,  

            CDIS_INDETERMINATE  = 0x0100  

        }  

        #endregion  

        #region Custom Draw Draw State Flags  

    publicenum CustomDrawDrawStateFlags  

        {  

            CDDS_PREPAINT           = 0x00000001,  

            CDDS_POSTPAINT          = 0x00000002,  

            CDDS_PREERASE           = 0x00000003,  

            CDDS_POSTERASE          = 0x00000004,  

            CDDS_ITEM               = 0x00010000,  

            CDDS_ITEMPREPAINT       = (CDDS_ITEM | CDDS_PREPAINT),  

            CDDS_ITEMPOSTPAINT      = (CDDS_ITEM | CDDS_POSTPAINT),  

            CDDS_ITEMPREERASE       = (CDDS_ITEM | CDDS_PREERASE),  

            CDDS_ITEMPOSTERASE      = (CDDS_ITEM | CDDS_POSTERASE),  

            CDDS_SUBITEM            = 0x00020000  

        }  

        #endregion  

        #region Toolbar button info flags  

    publicenum ToolBarButtonInfoFlags  

        {  

            TBIF_IMAGE             = 0x00000001,  

            TBIF_TEXT              = 0x00000002,  

            TBIF_STATE             = 0x00000004,  

            TBIF_STYLE             = 0x00000008,  

            TBIF_LPARAM            = 0x00000010,  

            TBIF_COMMAND           = 0x00000020,  

            TBIF_SIZE              = 0x00000040,  

            I_IMAGECALLBACK        = -1,  

            I_IMAGENONE            = -2  

        }  

        #endregion  

        #region Toolbar button styles  

    publicenum ToolBarButtonStyles  

        {  

            TBSTYLE_BUTTON          = 0x0000,  

            TBSTYLE_SEP             = 0x0001,  

            TBSTYLE_CHECK           = 0x0002,  

            TBSTYLE_GROUP           = 0x0004,  

            TBSTYLE_CHECKGROUP      = (TBSTYLE_GROUP | TBSTYLE_CHECK),  

            TBSTYLE_DROPDOWN        = 0x0008,  

            TBSTYLE_AUTOSIZE        = 0x0010,  

            TBSTYLE_NOPREFIX        = 0x0020,   

            TBSTYLE_TOOLTIPS        = 0x0100,  

            TBSTYLE_WRAPABLE        = 0x0200,  

            TBSTYLE_ALTDRAG         = 0x0400,  

            TBSTYLE_FLAT            = 0x0800,  

            TBSTYLE_LIST            = 0x1000,  

            TBSTYLE_CUSTOMERASE     = 0x2000,  

            TBSTYLE_REGISTERDROP    = 0x4000,  

            TBSTYLE_TRANSPARENT     = 0x8000,  

            TBSTYLE_EX_DRAWDDARROWS = 0x00000001  

        }  

        #endregion  

        #region Toolbar button state  

    publicenum ToolBarButtonStates  

        {  

            TBSTATE_CHECKED         = 0x01,  

            TBSTATE_PRESSED         = 0x02,  

            TBSTATE_ENABLED         = 0x04,  

            TBSTATE_HIDDEN          = 0x08,  

            TBSTATE_INDETERMINATE   = 0x10,  

            TBSTATE_WRAP            = 0x20,  

            TBSTATE_ELLIPSES        = 0x40,  

            TBSTATE_MARKED          = 0x80  

        }  

        #endregion  

        #region Windows Hook Codes  

    publicenum WindowsHookCodes  

        {  

            WH_MSGFILTER        = (-1),  

            WH_JOURNALRECORD    = 0,  

            WH_JOURNALPLAYBACK  = 1,  

            WH_KEYBOARD         = 2,  

            WH_GETMESSAGE       = 3,  

            WH_CALLWNDPROC      = 4,  

            WH_CBT              = 5,  

            WH_SYSMSGFILTER     = 6,  

            WH_MOUSE            = 7,  

            WH_HARDWARE         = 8,  

            WH_DEBUG            = 9,  

            WH_SHELL            = 10,  

            WH_FOREGROUNDIDLE   = 11,  

            WH_CALLWNDPROCRET   = 12,  

            WH_KEYBOARD_LL      = 13,  

            WH_MOUSE_LL         = 14  

        }  

        #endregion  

        #region Mouse Hook Filters  

    publicenum MouseHookFilters  

        {  

            MSGF_DIALOGBOX      = 0,  

            MSGF_MESSAGEBOX     = 1,  

            MSGF_MENU           = 2,  

            MSGF_SCROLLBAR      = 5,  

            MSGF_NEXTWINDOW     = 6  

        }  

        #endregion  

        #region Draw Text format flags  

    publicenum DrawTextFormatFlags  

        {  

            DT_TOP              = 0x00000000,  

            DT_LEFT             = 0x00000000,  

            DT_CENTER           = 0x00000001,  

            DT_RIGHT            = 0x00000002,  

            DT_VCENTER          = 0x00000004,  

            DT_BOTTOM           = 0x00000008,  

            DT_WORDBREAK        = 0x00000010,  

            DT_SINGLELINE       = 0x00000020,  

            DT_EXPANDTABS       = 0x00000040,  

            DT_TABSTOP          = 0x00000080,  

            DT_NOCLIP           = 0x00000100,  

            DT_EXTERNALLEADING  = 0x00000200,  

            DT_CALCRECT         = 0x00000400,  

            DT_NOPREFIX         = 0x00000800,  

            DT_INTERNAL         = 0x00001000,  

            DT_EDITCONTROL      = 0x00002000,  

            DT_PATH_ELLIPSIS    = 0x00004000,  

            DT_END_ELLIPSIS     = 0x00008000,  

            DT_MODIFYSTRING     = 0x00010000,  

            DT_RTLREADING       = 0x00020000,  

            DT_WORD_ELLIPSIS    = 0x00040000  

        }  

        #endregion  

        #region Rebar Styles  

    publicenum RebarStyles  

        {  

            RBS_TOOLTIPS        = 0x0100,  

            RBS_VARHEIGHT       = 0x0200,  

            RBS_BANDBORDERS     = 0x0400,  

            RBS_FIXEDORDER      = 0x0800,  

            RBS_REGISTERDROP    = 0x1000,  

            RBS_AUTOSIZE        = 0x2000,  

            RBS_VERTICALGRIPPER = 0x4000,   

            RBS_DBLCLKTOGGLE    = 0x8000,  

        }  

        #endregion  

        #region Rebar Notifications  

    publicenum RebarNotifications   

        {  

            RBN_FIRST           = (0-831),  

            RBN_HEIGHTCHANGE    = (RBN_FIRST - 0),  

            RBN_GETOBJECT       = (RBN_FIRST - 1),  

            RBN_LAYOUTCHANGED   = (RBN_FIRST - 2),  

            RBN_AUTOSIZE        = (RBN_FIRST - 3),  

            RBN_BEGINDRAG       = (RBN_FIRST - 4),  

            RBN_ENDDRAG         = (RBN_FIRST - 5),  

            RBN_DELETINGBAND    = (RBN_FIRST - 6),     

            RBN_DELETEDBAND     = (RBN_FIRST - 7),      

            RBN_CHILDSIZE       = (RBN_FIRST - 8),  

            RBN_CHEVRONPUSHED   = (RBN_FIRST - 10)  

        }  

        #endregion  

        #region Rebar Messages  

    publicenum RebarMessages  

        {  

            CCM_FIRST           =    0x2000,  

            WM_USER             =    0x0400,  

            RB_INSERTBANDA      =   (WM_USER +  1),  

            RB_DELETEBAND       =   (WM_USER +  2),  

            RB_GETBARINFO       =   (WM_USER +  3),  

            RB_SETBARINFO       =   (WM_USER +  4),  

            RB_GETBANDINFO      =   (WM_USER +  5),  

            RB_SETBANDINFOA     =   (WM_USER +  6),  

            RB_SETPARENT        =   (WM_USER +  7),  

            RB_HITTEST          =   (WM_USER +  8),  

            RB_GETRECT          =   (WM_USER +  9),  

            RB_INSERTBANDW      =   (WM_USER +  10),  

            RB_SETBANDINFOW     =   (WM_USER +  11),  

            RB_GETBANDCOUNT     =   (WM_USER +  12),  

            RB_GETROWCOUNT      =   (WM_USER +  13),  

            RB_GETROWHEIGHT     =   (WM_USER +  14),  

            RB_IDTOINDEX        =   (WM_USER +  16),  

            RB_GETTOOLTIPS      =   (WM_USER +  17),  

            RB_SETTOOLTIPS      =   (WM_USER +  18),  

            RB_SETBKCOLOR       =   (WM_USER +  19),  

            RB_GETBKCOLOR       =   (WM_USER +  20),   

            RB_SETTEXTCOLOR     =   (WM_USER +  21),  

            RB_GETTEXTCOLOR     =   (WM_USER +  22),  

            RB_SIZETORECT       =   (WM_USER +  23),   

            RB_SETCOLORSCHEME   =   (CCM_FIRST + 2),    

            RB_GETCOLORSCHEME   =   (CCM_FIRST + 3),   

            RB_BEGINDRAG        =   (WM_USER + 24),  

            RB_ENDDRAG          =   (WM_USER + 25),  

            RB_DRAGMOVE         =   (WM_USER + 26),  

            RB_GETBARHEIGHT     =   (WM_USER + 27),  

            RB_GETBANDINFOW     =   (WM_USER + 28),  

            RB_GETBANDINFOA     =   (WM_USER + 29),  

            RB_MINIMIZEBAND     =   (WM_USER + 30),  

            RB_MAXIMIZEBAND     =   (WM_USER + 31),  

            RB_GETDROPTARGET    =   (CCM_FIRST + 4),  

            RB_GETBANDBORDERS   =   (WM_USER + 34),    

            RB_SHOWBAND         =   (WM_USER + 35),        

            RB_SETPALETTE       =   (WM_USER + 37),  

            RB_GETPALETTE       =   (WM_USER + 38),  

            RB_MOVEBAND         =   (WM_USER + 39),  

            RB_SETUNICODEFORMAT =   (CCM_FIRST + 5),  

            RB_GETUNICODEFORMAT =   (CCM_FIRST + 6)  

        }  

        #endregion  

        #region Rebar Info Mask  

    publicenum RebarInfoMask  

        {  

            RBBIM_STYLE         = 0x00000001,  

            RBBIM_COLORS        = 0x00000002,  

            RBBIM_TEXT          = 0x00000004,  

            RBBIM_IMAGE         = 0x00000008,  

            RBBIM_CHILD         = 0x00000010,  

            RBBIM_CHILDSIZE     = 0x00000020,  

            RBBIM_SIZE          = 0x00000040,  

            RBBIM_BACKGROUND    = 0x00000080,  

            RBBIM_ID            = 0x00000100,  

            RBBIM_IDEALSIZE     = 0x00000200,  

            RBBIM_LPARAM        = 0x00000400,  

            BBIM_HEADERSIZE     = 0x00000800    

        }  

        #endregion  

        #region Rebar Styles  

    publicenum RebarStylesEx  

        {  

            RBBS_BREAK          =   0x1,  

            RBBS_CHILDEDGE      =   0x4,  

            RBBS_FIXEDBMP       =   0x20,  

            RBBS_GRIPPERALWAYS  =   0x80,  

            RBBS_USECHEVRON     =   0x200  

        }  

        #endregion  

        #region Object types  

    publicenum ObjectTypes  

        {  

            OBJ_PEN             = 1,  

            OBJ_BRUSH           = 2,  

            OBJ_DC              = 3,  

            OBJ_METADC          = 4,  

            OBJ_PAL             = 5,  

            OBJ_FONT            = 6,  

            OBJ_BITMAP          = 7,  

            OBJ_REGION          = 8,  

            OBJ_METAFILE        = 9,  

            OBJ_MEMDC           = 10,  

            OBJ_EXTPEN          = 11,  

            OBJ_ENHMETADC       = 12,  

            OBJ_ENHMETAFILE     = 13  

        }  

        #endregion  

        #region WM_MENUCHAR return values  

    publicenum MenuCharReturnValues  

        {  

            MNC_IGNORE  = 0,  

            MNC_CLOSE   = 1,  

            MNC_EXECUTE = 2,  

            MNC_SELECT  = 3  

        }  

        #endregion  

        #region Background Mode  

    publicenum BackgroundMode  

        {  

            TRANSPARENT = 1,  

            OPAQUE = 2  

        }  

        #endregion  

        #region ListView Messages  

    publicenum ListViewMessages  

        {  

            LVM_FIRST           =    0x1000,  

            LVM_GETSUBITEMRECT  = (LVM_FIRST + 56),  

            LVM_GETITEMSTATE    = (LVM_FIRST + 44),  

            LVM_GETITEMTEXTW    = (LVM_FIRST + 115)  

        }  

        #endregion  

        #region Header Control Messages  

    publicenum HeaderControlMessages :int  

        {  

            HDM_FIRST        =  0x1200,  

            HDM_GETITEMRECT  = (HDM_FIRST + 7),  

            HDM_HITTEST      = (HDM_FIRST + 6),  

            HDM_SETIMAGELIST = (HDM_FIRST + 8),  

            HDM_GETITEMW     = (HDM_FIRST + 11),  

            HDM_ORDERTOINDEX = (HDM_FIRST + 15)  

        }  

        #endregion  

        #region Header Control Notifications  

    publicenum HeaderControlNotifications  

        {  

            HDN_FIRST       = (0-300),  

            HDN_BEGINTRACKW = (HDN_FIRST-26),  

            HDN_ENDTRACKW   = (HDN_FIRST-27),  

            HDN_ITEMCLICKW  = (HDN_FIRST-22),  

        }  

        #endregion  

        #region Header Control HitTest Flags  

    publicenum HeaderControlHitTestFlags :uint  

        {  

            HHT_NOWHERE             = 0x0001,  

            HHT_ONHEADER            = 0x0002,  

            HHT_ONDIVIDER           = 0x0004,  

            HHT_ONDIVOPEN           = 0x0008,  

            HHT_ABOVE               = 0x0100,  

            HHT_BELOW               = 0x0200,  

            HHT_TORIGHT             = 0x0400,  

            HHT_TOLEFT              = 0x0800  

        }  

        #endregion  

        #region List View sub item portion  

    publicenum SubItemPortion  

        {  

            LVIR_BOUNDS = 0,  

            LVIR_ICON   = 1,  

            LVIR_LABEL  = 2  

        }  

        #endregion  

        #region Cursor Type  

    publicenum CursorType :uint  

        {  

            IDC_ARROW       = 32512U,  

            IDC_IBEAM       = 32513U,  

            IDC_WAIT        = 32514U,  

            IDC_CROSS       = 32515U,  

            IDC_UPARROW     = 32516U,  

            IDC_SIZE        = 32640U,  

            IDC_ICON        = 32641U,  

            IDC_SIZENWSE    = 32642U,  

            IDC_SIZENESW    = 32643U,  

            IDC_SIZEWE      = 32644U,  

            IDC_SIZENS      = 32645U,  

            IDC_SIZEALL     = 32646U,  

            IDC_NO          = 32648U,  

            IDC_HAND        = 32649U,  

            IDC_APPSTARTING = 32650U,  

            IDC_HELP        = 32651U  

        }  

        #endregion  

        #region Tracker Event Flags  

    publicenum TrackerEventFlags :uint  

        {  

            TME_HOVER   = 0x00000001,  

            TME_LEAVE   = 0x00000002,  

            TME_QUERY   = 0x40000000,  

            TME_CANCEL  = 0x80000000  

        }  

        #endregion  

        #region Mouse Activate Flags  

    publicenum MouseActivateFlags  

        {  

            MA_ACTIVATE         = 1,  

            MA_ACTIVATEANDEAT   = 2,  

            MA_NOACTIVATE       = 3,  

            MA_NOACTIVATEANDEAT = 4  

        }  

        #endregion  

        #region Dialog Codes  

    publicenum DialogCodes  

        {  

            DLGC_WANTARROWS         = 0x0001,  

            DLGC_WANTTAB            = 0x0002,  

            DLGC_WANTALLKEYS        = 0x0004,  

            DLGC_WANTMESSAGE        = 0x0004,  

            DLGC_HASSETSEL          = 0x0008,  

            DLGC_DEFPUSHBUTTON      = 0x0010,  

            DLGC_UNDEFPUSHBUTTON    = 0x0020,  

            DLGC_RADIOBUTTON        = 0x0040,  

            DLGC_WANTCHARS          = 0x0080,  

            DLGC_STATIC             = 0x0100,  

            DLGC_BUTTON             = 0x2000  

        }  

        #endregion  

        #region Update Layered Windows Flags  

    publicenum UpdateLayeredWindowsFlags  

        {  

            ULW_COLORKEY = 0x00000001,  

            ULW_ALPHA    = 0x00000002,  

            ULW_OPAQUE   = 0x00000004  

        }  

        #endregion  

        #region Alpha Flags  

    publicenum AlphaFlags :byte  

        {  

            AC_SRC_OVER  = 0x00,  

            AC_SRC_ALPHA = 0x01  

        }  

        #endregion  

        #region ComboBox messages  

    publicenum ComboBoxMessages  

        {  

            CB_GETDROPPEDSTATE = 0x0157  

        }  

        #endregion  

        #region SetWindowLong indexes  

    publicenum SetWindowLongOffsets  

        {  

            GWL_WNDPROC     = (-4),  

            GWL_HINSTANCE   = (-6),  

            GWL_HWNDPARENT  = (-8),  

            GWL_STYLE       = (-16),  

            GWL_EXSTYLE     = (-20),  

            GWL_USERDATA    = (-21),  

            GWL_ID          = (-12)  

        }  

        #endregion  

        #region TreeView Messages  

    publicenum TreeViewMessages  

        {  

            TV_FIRST        =  0x1100,  

            TVM_GETITEMRECT = (TV_FIRST + 4),  

            TVM_GETITEMW    = (TV_FIRST + 62)  

        }  

        #endregion  

        #region TreeViewItem Flags  

    publicenum TreeViewItemFlags  

        {  

            TVIF_TEXT               = 0x0001,  

            TVIF_IMAGE              = 0x0002,  

            TVIF_PARAM              = 0x0004,  

            TVIF_STATE              = 0x0008,  

            TVIF_HANDLE             = 0x0010,  

            TVIF_SELECTEDIMAGE      = 0x0020,  

            TVIF_CHILDREN           = 0x0040,  

            TVIF_INTEGRAL           = 0x0080  

        }  

        #endregion  

        #region ListViewItem flags  

    publicenum ListViewItemFlags  

        {  

            LVIF_TEXT               = 0x0001,  

            LVIF_IMAGE              = 0x0002,  

            LVIF_PARAM              = 0x0004,  

            LVIF_STATE              = 0x0008,  

            LVIF_INDENT             = 0x0010,  

            LVIF_NORECOMPUTE        = 0x0800  

        }  

        #endregion  

        #region HeaderItem flags  

    publicenum HeaderItemFlags  

        {  

            HDI_WIDTH               = 0x0001,  

            HDI_HEIGHT              = HDI_WIDTH,  

            HDI_TEXT                = 0x0002,  

            HDI_FORMAT              = 0x0004,  

            HDI_LPARAM              = 0x0008,  

            HDI_BITMAP              = 0x0010,  

            HDI_IMAGE               = 0x0020,  

            HDI_DI_SETITEM          = 0x0040,  

            HDI_ORDER               = 0x0080  

        }  

        #endregion  

        #region GetDCExFlags  

    publicenum GetDCExFlags  

        {  

            DCX_WINDOW           = 0x00000001,  

            DCX_CACHE            = 0x00000002,  

            DCX_NORESETATTRS     = 0x00000004,  

            DCX_CLIPCHILDREN     = 0x00000008,  

            DCX_CLIPSIBLINGS     = 0x00000010,  

            DCX_PARENTCLIP       = 0x00000020,  

            DCX_EXCLUDERGN       = 0x00000040,  

            DCX_INTERSECTRGN     = 0x00000080,  

            DCX_EXCLUDEUPDATE    = 0x00000100,  

            DCX_INTERSECTUPDATE  = 0x00000200,  

            DCX_LOCKWINDOWUPDATE = 0x00000400,  

            DCX_VALIDATE         = 0x00200000  

        }  

        #endregion  

        #region HitTest   

    publicenum HitTest  

        {  

            HTERROR             = (-2),  

            HTTRANSPARENT       = (-1),  

            HTNOWHERE           =   0,  

            HTCLIENT            =   1,  

            HTCAPTION           =   2,  

            HTSYSMENU           =   3,  

            HTGROWBOX           =   4,  

            HTSIZE              =   HTGROWBOX,  

            HTMENU              =   5,  

            HTHSCROLL           =   6,  

            HTVSCROLL           =   7,  

            HTMINBUTTON         =   8,  

            HTMAXBUTTON         =   9,  

            HTLEFT              =   10,  

            HTRIGHT             =   11,  

            HTTOP               =   12,  

            HTTOPLEFT           =   13,  

            HTTOPRIGHT          =   14,  

            HTBOTTOM            =   15,  

            HTBOTTOMLEFT        =   16,  

            HTBOTTOMRIGHT       =   17,  

            HTBORDER            =   18,  

            HTREDUCE            =   HTMINBUTTON,  

            HTZOOM              =   HTMAXBUTTON,  

            HTSIZEFIRST         =   HTLEFT,  

            HTSIZELAST          =   HTBOTTOMRIGHT,  

            HTOBJECT            =   19,  

            HTCLOSE             =   20,  

            HTHELP              =   21  

        }  

        #endregion  

        #region ActivateFlags  

    publicenum ActivateState  

        {  

            WA_INACTIVE     = 0,  

            WA_ACTIVE       = 1,  

            WA_CLICKACTIVE  = 2  

        }  

        #endregion  

        #region StrechModeFlags  

    publicenum StrechModeFlags  

        {  

            BLACKONWHITE        = 1,  

            WHITEONBLACK        = 2,  

            COLORONCOLOR        = 3,  

            HALFTONE            = 4,  

            MAXSTRETCHBLTMODE   = 4  

        }  

        #endregion  

        #region ScrollBarFlags  

    publicenum ScrollBarFlags  

        {  

            SBS_HORZ                    = 0x0000,  

            SBS_VERT                    = 0x0001,  

            SBS_TOPALIGN                = 0x0002,  

            SBS_LEFTALIGN               = 0x0002,  

            SBS_BOTTOMALIGN             = 0x0004,  

            SBS_RIGHTALIGN              = 0x0004,  

            SBS_SIZEBOXTOPLEFTALIGN     = 0x0002,  

            SBS_SIZEBOXBOTTOMRIGHTALIGN = 0x0004,  

            SBS_SIZEBOX                 = 0x0008,  

            SBS_SIZEGRIP                = 0x0010  

        }  

        #endregion  

        #region System Metrics Codes  

    publicenum SystemMetricsCodes  

        {  

            SM_CXSCREEN             = 0,  

            SM_CYSCREEN             = 1,  

            SM_CXVSCROLL            = 2,  

            SM_CYHSCROLL            = 3,  

            SM_CYCAPTION            = 4,  

            SM_CXBORDER             = 5,  

            SM_CYBORDER             = 6,  

            SM_CXDLGFRAME           = 7,  

            SM_CYDLGFRAME           = 8,  

            SM_CYVTHUMB             = 9,  

            SM_CXHTHUMB             = 10,  

            SM_CXICON               = 11,  

            SM_CYICON               = 12,  

            SM_CXCURSOR             = 13,  

            SM_CYCURSOR             = 14,  

            SM_CYMENU               = 15,  

            SM_CXFULLSCREEN         = 16,  

            SM_CYFULLSCREEN         = 17,  

            SM_CYKANJIWINDOW        = 18,  

            SM_MOUSEPRESENT         = 19,  

            SM_CYVSCROLL            = 20,  

            SM_CXHSCROLL            = 21,  

            SM_DEBUG                = 22,  

            SM_SWAPBUTTON           = 23,  

            SM_RESERVED1            = 24,  

            SM_RESERVED2            = 25,  

            SM_RESERVED3            = 26,  

            SM_RESERVED4            = 27,  

            SM_CXMIN                = 28,  

            SM_CYMIN                = 29,  

            SM_CXSIZE               = 30,  

            SM_CYSIZE               = 31,  

            SM_CXFRAME              = 32,  

            SM_CYFRAME              = 33,  

            SM_CXMINTRACK           = 34,  

            SM_CYMINTRACK           = 35,  

            SM_CXDOUBLECLK          = 36,  

            SM_CYDOUBLECLK          = 37,  

            SM_CXICONSPACING        = 38,  

            SM_CYICONSPACING        = 39,  

            SM_MENUDROPALIGNMENT    = 40,  

            SM_PENWINDOWS           = 41,  

            SM_DBCSENABLED          = 42,  

            SM_CMOUSEBUTTONS        = 43,  

            SM_CXFIXEDFRAME         = SM_CXDLGFRAME,   

            SM_CYFIXEDFRAME         = SM_CYDLGFRAME,    

            SM_CXSIZEFRAME          = SM_CXFRAME,      

            SM_CYSIZEFRAME          = SM_CYFRAME,      

            SM_SECURE               = 44,  

            SM_CXEDGE               = 45,  

            SM_CYEDGE               = 46,  

            SM_CXMINSPACING         = 47,  

            SM_CYMINSPACING         = 48,  

            SM_CXSMICON             = 49,  

            SM_CYSMICON             = 50,  

            SM_CYSMCAPTION          = 51,  

            SM_CXSMSIZE             = 52,  

            SM_CYSMSIZE             = 53,  

            SM_CXMENUSIZE           = 54,  

            SM_CYMENUSIZE           = 55,  

            SM_ARRANGE              = 56,  

            SM_CXMINIMIZED          = 57,  

            SM_CYMINIMIZED          = 58,  

            SM_CXMAXTRACK           = 59,  

            SM_CYMAXTRACK           = 60,  

            SM_CXMAXIMIZED          = 61,  

            SM_CYMAXIMIZED          = 62,  

            SM_NETWORK              = 63,  

            SM_CLEANBOOT            = 67,  

            SM_CXDRAG               = 68,  

            SM_CYDRAG               = 69,  

            SM_SHOWSOUNDS           = 70,  

            SM_CXMENUCHECK          = 71,    

            SM_CYMENUCHECK          = 72,  

            SM_SLOWMACHINE          = 73,  

            SM_MIDEASTENABLED       = 74,  

            SM_MOUSEWHEELPRESENT    = 75,  

            SM_XVIRTUALSCREEN       = 76,  

            SM_YVIRTUALSCREEN       = 77,  

            SM_CXVIRTUALSCREEN      = 78,  

            SM_CYVIRTUALSCREEN      = 79,  

            SM_CMONITORS            = 80,  

            SM_SAMEDISPLAYFORMAT    = 81,  

            SM_CMETRICS             = 83  

        }  

        #endregion  

        #region ScrollBarTypes  

    publicenum ScrollBarTypes  

        {  

            SB_HORZ  = 0,  

            SB_VERT  = 1,  

            SB_CTL   = 2,  

            SB_BOTH  = 3  

        }  

        #endregion  

        #region SrollBarInfoFlags  

    publicenum ScrollBarInfoFlags  

        {  

            SIF_RANGE           = 0x0001,  

            SIF_PAGE            = 0x0002,  

            SIF_POS             = 0x0004,  

            SIF_DISABLENOSCROLL = 0x0008,  

            SIF_TRACKPOS        = 0x0010,  

            SIF_ALL             = (SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS)  

        }  

        #endregion  

        #region Enable ScrollBar flags  

    publicenum EnableScrollBarFlags  

        {  

            ESB_ENABLE_BOTH     = 0x0000,  

            ESB_DISABLE_BOTH    = 0x0003,  

            ESB_DISABLE_LEFT    = 0x0001,  

            ESB_DISABLE_RIGHT   = 0x0002,  

            ESB_DISABLE_UP      = 0x0001,  

            ESB_DISABLE_DOWN    = 0x0002,  

            ESB_DISABLE_LTUP    = ESB_DISABLE_LEFT,  

            ESB_DISABLE_RTDN    = ESB_DISABLE_RIGHT  

        }  

        #endregion  

        #region Scroll Requests  

    publicenum ScrollBarRequests  

        {  

            SB_LINEUP           = 0,  

            SB_LINELEFT         = 0,  

            SB_LINEDOWN         = 1,  

            SB_LINERIGHT        = 1,  

            SB_PAGEUP           = 2,  

            SB_PAGELEFT         = 2,  

            SB_PAGEDOWN         = 3,  

            SB_PAGERIGHT        = 3,  

            SB_THUMBPOSITION    = 4,  

            SB_THUMBTRACK       = 5,  

            SB_TOP              = 6,  

            SB_LEFT             = 6,  

            SB_BOTTOM           = 7,  

            SB_RIGHT            = 7,  

            SB_ENDSCROLL        = 8  

        }  

        #endregion  

        #region SrollWindowEx flags  

    publicenum ScrollWindowExFlags  

        {  

            SW_SCROLLCHILDREN   = 0x0001,    

            SW_INVALIDATE       = 0x0002,    

            SW_ERASE            = 0x0004,    

            SW_SMOOTHSCROLL     = 0x0010    

        }  

        #endregion  

        #region ImageListFlags  

    publicenum  ImageListFlags  

        {  

            ILC_MASK             = 0x0001,  

            ILC_COLOR            = 0x0000,  

            ILC_COLORDDB         = 0x00FE,  

            ILC_COLOR4           = 0x0004,  

            ILC_COLOR8           = 0x0008,  

            ILC_COLOR16          = 0x0010,  

            ILC_COLOR24          = 0x0018,  

            ILC_COLOR32          = 0x0020,  

            ILC_PALETTE          = 0x0800        

        }  

        #endregion  

        #region List View Notifications  

    publicenum ListViewNotifications  

        {  

            LVN_FIRST             =  (0-100),  

            LVN_GETDISPINFOW      = (LVN_FIRST-77),  

            LVN_SETDISPINFOA      = (LVN_FIRST-51)  

        }  

        #endregion  

    }  

    Structs.cs分别如下

    [csharp]view plaincopy

    using System;  

    using System.Drawing;  

    using System.Runtime.InteropServices;  

    namespace Lordeo.Framework  

    {  

    ///   

    /// Structures to interoperate with the Windows 32 API    

    ///   

        #region SIZE  

        [StructLayout(LayoutKind.Sequential)]  

    publicstruct SIZE  

        {  

    publicint cx;  

    publicint cy;  

        }  

        #endregion  

        #region RECT  

        [StructLayout(LayoutKind.Sequential)]  

    publicstruct RECT  

        {  

    publicint left;  

    publicint top;  

    publicint right;  

    publicint bottom;  

        }  

        #endregion  

        #region INITCOMMONCONTROLSEX  

        [StructLayout(LayoutKind.Sequential, Pack=1)]  

    publicclass INITCOMMONCONTROLSEX   

        {  

    publicint dwSize;  

    publicint dwICC;  

        }  

        #endregion  

        #region TBBUTTON  

        [StructLayout(LayoutKind.Sequential, Pack=1)]  

    publicstruct TBBUTTON   

        {  

    publicint iBitmap;  

    publicint idCommand;  

    publicbyte fsState;  

    publicbyte fsStyle;  

    publicbyte bReserved0;  

    publicbyte bReserved1;  

    publicint dwData;  

    publicint iString;  

        }  

        #endregion  

        #region POINT  

        [StructLayout(LayoutKind.Sequential)]  

    publicstruct POINT  

        {  

    publicint x;  

    publicint y;  

        }  

        #endregion  

        #region NMHDR  

        [StructLayout(LayoutKind.Sequential)]  

    publicstruct NMHDR  

        {  

    public IntPtr hwndFrom;  

    publicint idFrom;  

    publicint code;  

        }  

        #endregion  

        #region TOOLTIPTEXTA  

        [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Ansi)]  

    publicstruct TOOLTIPTEXTA  

        {  

    public NMHDR hdr;  

    public IntPtr lpszText;  

            [MarshalAs(UnmanagedType.ByValTStr, SizeConst=80)]  

    publicstring szText;  

    public IntPtr hinst;  

    publicint uFlags;  

        }  

        #endregion  

        #region TOOLTIPTEXT  

        [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Auto)]  

    publicstruct TOOLTIPTEXT  

        {  

    public NMHDR hdr;  

    public IntPtr lpszText;  

            [MarshalAs(UnmanagedType.ByValTStr, SizeConst=80)]  

    publicstring szText;  

    public IntPtr hinst;  

    publicint uFlags;  

        }  

        #endregion  

        #region NMCUSTOMDRAW  

        [StructLayout(LayoutKind.Sequential)]  

    publicstruct NMCUSTOMDRAW  

        {  

    public NMHDR hdr;  

    publicint dwDrawStage;  

    public IntPtr hdc;  

    public RECT rc;  

    publicint dwItemSpec;  

    publicint uItemState;  

    publicint lItemlParam;  

        }  

        #endregion  

        #region NMTBCUSTOMDRAW  

        [StructLayout(LayoutKind.Sequential)]  

    publicstruct NMTBCUSTOMDRAW  

        {  

    public NMCUSTOMDRAW nmcd;  

    public IntPtr hbrMonoDither;  

    public IntPtr hbrLines;  

    public IntPtr hpenLines;  

    publicint clrText;  

    publicint clrMark;  

    publicint clrTextHighlight;  

    publicint clrBtnFace;  

    publicint clrBtnHighlight;  

    publicint clrHighlightHotTrack;  

    public RECT rcText;  

    publicint nStringBkMode;  

    publicint nHLStringBkMode;  

        }  

        #endregion  

        #region NMLVCUSTOMDRAW  

        [StructLayout(LayoutKind.Sequential)]  

    publicstruct NMLVCUSTOMDRAW   

        {  

    public NMCUSTOMDRAW nmcd;  

    publicuint clrText;  

    publicuint clrTextBk;  

    publicint iSubItem;  

        }   

        #endregion  

        #region TBBUTTONINFO  

        [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Auto)]  

    publicstruct TBBUTTONINFO  

        {  

    publicint cbSize;  

    publicint dwMask;  

    publicint idCommand;  

    publicint iImage;  

    publicbyte fsState;  

    publicbyte fsStyle;  

    publicshort cx;  

    public IntPtr lParam;  

    public IntPtr pszText;  

    publicint cchText;  

        }  

        #endregion  

        #region REBARBANDINFO  

        [StructLayout(LayoutKind.Sequential)]  

    publicstruct REBARBANDINFO  

        {  

    publicint cbSize;  

    publicint fMask;  

    publicint fStyle;  

    publicint clrFore;  

    publicint clrBack;  

    public IntPtr lpText;  

    publicint cch;  

    publicint iImage;  

    public IntPtr hwndChild;  

    publicint cxMinChild;  

    publicint cyMinChild;  

    publicint cx;  

    public IntPtr hbmBack;  

    publicint wID;  

    publicint cyChild;  

    publicint cyMaxChild;  

    publicint cyIntegral;  

    publicint cxIdeal;  

    publicint lParam;  

    publicint cxHeader;  

        }  

        #endregion  

        #region MOUSEHOOKSTRUCT  

        [StructLayout(LayoutKind.Sequential)]  

    publicstruct MOUSEHOOKSTRUCT   

        {   

    public POINT     pt;   

    public IntPtr    hwnd;   

    publicint       wHitTestCode;   

    public IntPtr    dwExtraInfo;   

        }  

        #endregion  

        #region NMTOOLBAR  

        [StructLayout(LayoutKind.Sequential)]  

    publicstruct NMTOOLBAR   

        {  

    public NMHDR        hdr;  

    publicint          iItem;  

    public TBBUTTON     tbButton;  

    publicint          cchText;  

    public IntPtr       pszText;  

    public RECT         rcButton;   

        }  

        #endregion  

        #region NMREBARCHEVRON  

        [StructLayout(LayoutKind.Sequential)]  

    publicstruct NMREBARCHEVRON  

        {  

    public NMHDR hdr;  

    publicint uBand;  

    publicint wID;  

    publicint lParam;  

    public RECT rc;  

    publicint lParamNM;  

        }  

        #endregion  

        #region BITMAP  

        [StructLayout(LayoutKind.Sequential)]  

    publicstruct BITMAP  

        {  

    publiclong   bmType;   

    publiclong   bmWidth;   

    publiclong   bmHeight;   

    publiclong   bmWidthBytes;   

    publicshort  bmPlanes;   

    publicshort  bmBitsPixel;   

    public IntPtr bmBits;   

        }  

        #endregion  

        #region BITMAPINFO_FLAT  

        [StructLayout(LayoutKind.Sequential)]  

    publicstruct BITMAPINFO_FLAT   

        {  

    publicint      bmiHeader_biSize;  

    publicint      bmiHeader_biWidth;  

    publicint      bmiHeader_biHeight;  

    publicshort    bmiHeader_biPlanes;  

    publicshort    bmiHeader_biBitCount;  

    publicint      bmiHeader_biCompression;  

    publicint      bmiHeader_biSizeImage;  

    publicint      bmiHeader_biXPelsPerMeter;  

    publicint      bmiHeader_biYPelsPerMeter;  

    publicint      bmiHeader_biClrUsed;  

    publicint      bmiHeader_biClrImportant;  

            [MarshalAs(System.Runtime.InteropServices.UnmanagedType.ByValArray, SizeConst=1024)]  

    publicbyte[] bmiColors;   

        }  

        #endregion  

        #region RGBQUAD  

    publicstruct RGBQUAD   

        {  

    publicbyte     rgbBlue;  

    publicbyte     rgbGreen;  

    publicbyte     rgbRed;  

    publicbyte     rgbReserved;  

        }  

        #endregion  

        #region BITMAPINFOHEADER  

        [StructLayout(LayoutKind.Sequential)]  

    publicclass BITMAPINFOHEADER   

        {  

    publicint      biSize = Marshal.SizeOf(typeof(BITMAPINFOHEADER));  

    publicint      biWidth;  

    publicint      biHeight;  

    publicshort    biPlanes;  

    publicshort    biBitCount;  

    publicint      biCompression;  

    publicint      biSizeImage;  

    publicint      biXPelsPerMeter;  

    publicint      biYPelsPerMeter;  

    publicint      biClrUsed;  

    publicint      biClrImportant;  

        }  

        #endregion  

        #region BITMAPINFO  

        [StructLayout(LayoutKind.Sequential)]  

    publicclass BITMAPINFO   

        {  

    public BITMAPINFOHEADER bmiHeader =new BITMAPINFOHEADER();  

            [MarshalAs(System.Runtime.InteropServices.UnmanagedType.ByValArray, SizeConst=1024)]  

    publicbyte[] bmiColors;   

        }  

        #endregion  

        #region PALETTEENTRY  

        [StructLayout(LayoutKind.Sequential)]  

    publicstruct PALETTEENTRY   

        {  

    publicbyte     peRed;  

    publicbyte     peGreen;  

    publicbyte     peBlue;  

    publicbyte     peFlags;  

        }  

        #endregion  

        #region MSG  

        [StructLayout(LayoutKind.Sequential)]  

    publicstruct MSG   

        {  

    public IntPtr hwnd;  

    publicint message;  

    public IntPtr wParam;  

    public IntPtr lParam;  

    publicint time;  

    publicint pt_x;  

    publicint pt_y;  

        }  

        #endregion  

        #region HD_HITTESTINFO  

        [StructLayout(LayoutKind.Sequential)]  

    publicstruct HD_HITTESTINFO   

        {    

    public POINT pt;    

    publicuint flags;   

    publicint iItem;   

        }  

        #endregion  

        #region DLLVERSIONINFO  

        [StructLayout(LayoutKind.Sequential)]  

    publicstruct DLLVERSIONINFO  

        {  

    publicint cbSize;  

    publicint dwMajorVersion;  

    publicint dwMinorVersion;  

    publicint dwBuildNumber;  

    publicint dwPlatformID;  

        }  

        #endregion  

        #region PAINTSTRUCT  

        [StructLayout(LayoutKind.Sequential)]  

    publicstruct PAINTSTRUCT  

        {  

    public IntPtr hdc;  

    publicint fErase;  

    public Rectangle rcPaint;  

    publicint fRestore;  

    publicint fIncUpdate;  

    publicint Reserved1;  

    publicint Reserved2;  

    publicint Reserved3;  

    publicint Reserved4;  

    publicint Reserved5;  

    publicint Reserved6;  

    publicint Reserved7;  

    publicint Reserved8;  

        }  

        #endregion  

        #region BLENDFUNCTION  

        [StructLayout(LayoutKind.Sequential, Pack=1)]  

    publicstruct BLENDFUNCTION  

        {  

    publicbyte BlendOp;  

    publicbyte BlendFlags;  

    publicbyte SourceConstantAlpha;  

    publicbyte AlphaFormat;  

        }  

        #endregion  

        #region TRACKMOUSEEVENTS  

        [StructLayout(LayoutKind.Sequential)]  

    publicstruct TRACKMOUSEEVENTS  

        {  

    publicuint cbSize;  

    publicuint dwFlags;  

    public IntPtr hWnd;  

    publicuint dwHoverTime;  

        }  

        #endregion  

        #region STRINGBUFFER  

        [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Auto)]  

    publicstruct STRINGBUFFER  

        {  

            [MarshalAs(UnmanagedType.ByValTStr, SizeConst=512)]  

    publicstring szText;  

        }  

        #endregion  

        #region NMTVCUSTOMDRAW  

        [StructLayout(LayoutKind.Sequential)]  

    publicstruct NMTVCUSTOMDRAW   

        {  

    public NMCUSTOMDRAW nmcd;  

    publicuint clrText;  

    publicuint clrTextBk;  

    publicint iLevel;  

        }  

        #endregion  

        #region TVITEM  

        [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Auto)]  

    publicstruct TVITEM   

        {  

    publicuint      mask;  

    public  IntPtr    hItem;  

    publicuint      state;  

    publicuint      stateMask;  

    public  IntPtr    pszText;  

    publicint       cchTextMax;  

    publicint       iImage;  

    publicint       iSelectedImage;  

    publicint       cChildren;  

    publicint       lParam;  

        }   

        #endregion  

        #region LVITEM  

        [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Auto)]  

    publicstruct LVITEM  

        {  

    publicuint mask;  

    publicint iItem;  

    publicint iSubItem;  

    publicuint state;  

    publicuint stateMask;  

    public  IntPtr pszText;  

    publicint cchTextMax;  

    publicint iImage;  

    publicint lParam;  

    publicint iIndent;  

        }  

        #endregion  

        #region HDITEM  

        [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Auto)]  

    publicstruct HDITEM  

        {  

    publicuint    mask;  

    publicint     cxy;  

    public  IntPtr  pszText;  

    public  IntPtr  hbm;  

    publicint     cchTextMax;  

    publicint     fmt;  

    publicint     lParam;  

    publicint     iImage;        

    publicint     iOrder;  

        }     

        #endregion  

        #region WINDOWPLACEMENT  

        [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Auto)]  

    publicstruct WINDOWPLACEMENT  

        {     

    publicuint length;   

    publicuint flags;   

    publicuint showCmd;   

    public POINT ptMinPosition;   

    public POINT ptMaxPosition;   

    public RECT  rcNormalPosition;   

        }  

        #endregion  

        #region SCROLLINFO  

        [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Auto)]  

    publicstruct SCROLLINFO  

        {  

    publicuint   cbSize;  

    publicuint   fMask;  

    publicint    nMin;  

    publicint    nMax;  

    publicuint   nPage;  

    publicint    nPos;  

    publicint    nTrackPos;  

        }  

        #endregion  

        #region MouseHookStruct  

        [StructLayout(LayoutKind.Sequential)]  

    publicclass MouseHookStruct   

        {  

    public POINT pt;  

    publicint hwnd;  

    publicint wHitTestCode;  

    publicint dwExtraInfo;  

        }  

        #endregion  

        #region KeyBoardHook  

        [StructLayout(LayoutKind.Sequential)]  

    publicclass KeyboardHookStruct  

        {  

    publicint vkCode;//Specifies a virtual-key code. The code must be a value in the range 1 to 254.   

    publicint scanCode;// Specifies a hardware scan code for the key.   

    publicint flags;// Specifies the extended-key flag, event-injected flag, context code, and transition-state flag.  

    publicint time;// Specifies the time stamp for this message.  

    publicint dwExtraInfo;// Specifies extra information associated with the message.   

        }  

        #endregion  

    }  

    相关文章

      网友评论

        本文标题:C#可直接调用的Win32 API

        本文链接:https://www.haomeiwen.com/subject/mehwpftx.html