using System; using System.Runtime.InteropServices; namespace NativeEmbedSample { public unsafe class WinApi { public enum CommonControls : uint { ICC_LISTVIEW_CLASSES = 0x00000001, // listview, header ICC_TREEVIEW_CLASSES = 0x00000002, // treeview, tooltips ICC_BAR_CLASSES = 0x00000004, // toolbar, statusbar, trackbar, tooltips ICC_TAB_CLASSES = 0x00000008, // tab, tooltips ICC_UPDOWN_CLASS = 0x00000010, // updown ICC_PROGRESS_CLASS = 0x00000020, // progress ICC_HOTKEY_CLASS = 0x00000040, // hotkey ICC_ANIMATE_CLASS = 0x00000080, // animate ICC_WIN95_CLASSES = 0x000000FF, ICC_DATE_CLASSES = 0x00000100, // month picker, date picker, time picker, updown ICC_USEREX_CLASSES = 0x00000200, // comboex ICC_COOL_CLASSES = 0x00000400, // rebar (coolbar) control ICC_INTERNET_CLASSES = 0x00000800, ICC_PAGESCROLLER_CLASS = 0x00001000, // page scroller ICC_NATIVEFNTCTL_CLASS = 0x00002000, // native font control ICC_STANDARD_CLASSES = 0x00004000, ICC_LINK_CLASS = 0x00008000 } [StructLayout(LayoutKind.Sequential)] public struct INITCOMMONCONTROLSEX { public int dwSize; public uint dwICC; } [DllImport("Comctl32.dll")] public static extern void InitCommonControlsEx(ref INITCOMMONCONTROLSEX init); [DllImport("user32.dll", SetLastError = true)] public static extern bool DestroyWindow(IntPtr hwnd); [DllImport("kernel32.dll")] public static extern IntPtr LoadLibrary(string lib); [DllImport("kernel32.dll")] public static extern IntPtr GetModuleHandle(string lpModuleName); [DllImport("user32.dll", SetLastError = true)] public static extern IntPtr CreateWindowEx( int dwExStyle, string lpClassName, string lpWindowName, uint dwStyle, int x, int y, int nWidth, int nHeight, IntPtr hWndParent, IntPtr hMenu, IntPtr hInstance, IntPtr lpParam); [StructLayout(LayoutKind.Sequential)] public struct SETTEXTEX { public uint Flags; public uint Codepage; } [DllImport("user32.dll", CharSet = CharSet.Unicode, EntryPoint = "SendMessageW")] public static extern IntPtr SendMessage(IntPtr hWnd, int Msg, ref SETTEXTEX wParam, byte[] lParam); } }