📄 shellapi.cs
字号:
PASTE = 0x302,
PENWINFIRST = 0x380,
PENWINLAST = 0x38F,
POWER = 0x48,
PRINT = 0x317,
PRINTCLIENT = 0x318,
QUERYDRAGICON = 0x37,
QUERYENDSESSION = 0x11,
QUERYNEWPALETTE = 0x30F,
QUERYOPEN = 0x13,
QUEUESYNC = 0x23,
QUIT = 0x12,
RBUTTONDBLCLK = 0x206,
RBUTTONDOWN = 0x204,
RBUTTONUP = 0x205,
RENDERALLFORMATS = 0x306,
RENDERFORMAT = 0x305,
SETCURSOR = 0x20,
SETFOCUS = 0x7,
SETFONT = 0x30,
SETHOTKEY = 0x32,
SETICON = 0x80,
SETMARGINS = 0xD3,
SETREDRAW = 0xB,
SETTEXT = 0xC,
SETTINGCHANGE = 0x1A,
SHOWWINDOW = 0x18,
SIZE = 0x5,
SIZECLIPBOARD = 0x30B,
SIZING = 0x214,
SPOOLERSTATUS = 0x2A,
STYLECHANGED = 0x7D,
STYLECHANGING = 0x7C,
SYNCPAINT = 0x88,
SYSCHAR = 0x106,
SYSCOLORCHANGE = 0x15,
SYSCOMMAND = 0x112,
SYSDEADCHAR = 0x107,
SYSKEYDOWN = 0x104,
SYSKEYUP = 0x105,
TCARD = 0x52,
TIMECHANGE = 0x1E,
TIMER = 0x113,
TVM_GETEDITCONTROL = 0x110F,
TVM_SETIMAGELIST = 0x1109,
UNDO = 0x304,
UNINITMENUPOPUP = 0x125,
USER = 0x400,
USERCHANGED = 0x54,
VKEYTOITEM = 0x2E,
VSCROLL = 0x115,
VSCROLLCLIPBOARD = 0x30A,
WINDOWPOSCHANGED = 0x47,
WINDOWPOSCHANGING = 0x46,
WININICHANGE = 0x1A,
SH_NOTIFY = 0x0401
}
// Specifies the content of the new menu item
[Flags]
public enum MFT : uint
{
GRAYED = 0x00000003,
DISABLED = 0x00000003,
CHECKED = 0x00000008,
SEPARATOR = 0x00000800,
RADIOCHECK = 0x00000200,
BITMAP = 0x00000004,
OWNERDRAW = 0x00000100,
MENUBARBREAK = 0x00000020,
MENUBREAK = 0x00000040,
RIGHTORDER = 0x00002000,
BYCOMMAND = 0x00000000,
BYPOSITION = 0x00000400,
POPUP = 0x00000010
}
// Specifies the state of the new menu item
[Flags]
public enum MFS : uint
{
GRAYED = 0x00000003,
DISABLED = 0x00000003,
CHECKED = 0x00000008,
HILITE = 0x00000080,
ENABLED = 0x00000000,
UNCHECKED = 0x00000000,
UNHILITE = 0x00000000,
DEFAULT = 0x00001000
}
// Specifies the content of the new menu item
[Flags]
public enum MIIM : uint
{
BITMAP = 0x80,
CHECKMARKS = 0x08,
DATA = 0x20,
FTYPE = 0x100,
ID = 0x02,
STATE = 0x01,
STRING = 0x40,
SUBMENU = 0x04,
TYPE = 0x10
}
// Particular clipboard format of interest.
// There are three types of formats recognized by OLE
public enum CF
{
BITMAP = 2,
DIB = 8,
DIF = 5,
DSPBITMAP = 130,
DSPENHMETAFILE = 0x8e,
DSPMETAFILEPICT = 0x83,
DSPTEXT = 0x81,
ENHMETAFILE = 14,
GDIOBJFIRST = 0x300,
GDIOBJLAST = 0x3ff,
HDROP = 15,
LOCALE = 0x10,
MAX = 0x11,
METAFILEPICT = 3,
OEMTEXT = 7,
OWNERDISPLAY = 0x80,
PALETTE = 9,
PENDATA = 10,
PRIVATEFIRST = 0x200,
PRIVATELAST = 0x2ff,
RIFF = 11,
SYLK = 4,
TEXT = 1,
TIFF = 6,
UNICODETEXT = 13,
WAVE = 12
}
// Specifies the desired data or view aspect of the object when drawing or getting data
[Flags]
public enum DVASPECT
{
CONTENT = 1,
DOCPRINT = 8,
ICON = 4,
THUMBNAIL = 2
}
// Indicates the type of storage medium being used in a data transfer
[Flags]
public enum TYMED
{
ENHMF = 0x40,
FILE = 2,
GDI = 0x10,
HGLOBAL = 1,
ISTORAGE = 8,
ISTREAM = 4,
MFPICT = 0x20,
NULL = 0
}
// Specifies a group of flags for controlling the advisory connection
[Flags]
public enum ADVF
{
CACHE_FORCEBUILTIN = 0x10,
CACHE_NOHANDLER = 8,
CACHE_ONSAVE = 0x20,
DATAONSTOP = 0x40,
NODATA = 1,
ONLYONCE = 4,
PRIMEFIRST = 2
}
// Flags indicating which mouse buttons are clicked and which modifier keys are pressed
[Flags]
public enum MK
{
LBUTTON = 0x0001,
RBUTTON = 0x0002,
SHIFT = 0x0004,
CONTROL = 0x0008,
MBUTTON = 0x0010,
ALT = 0x0020
}
// Are used in activation calls to indicate the execution contexts in which an object is to be run
[Flags]
public enum CLSCTX : uint
{
INPROC_SERVER = 0x1,
INPROC_HANDLER = 0x2,
LOCAL_SERVER = 0x4,
INPROC_SERVER16 = 0x8,
REMOTE_SERVER = 0x10,
INPROC_HANDLER16 = 0x20,
RESERVED1 = 0x40,
RESERVED2 = 0x80,
RESERVED3 = 0x100,
RESERVED4 = 0x200,
NO_CODE_DOWNLOAD = 0x400,
RESERVED5 = 0x800,
NO_CUSTOM_MARSHAL = 0x1000,
ENABLE_CODE_DOWNLOAD = 0x2000,
NO_FAILURE_LOG = 0x4000,
DISABLE_AAA = 0x8000,
ENABLE_AAA = 0x10000,
FROM_DEFAULT_CONTEXT = 0x20000,
INPROC = INPROC_SERVER | INPROC_HANDLER,
SERVER = INPROC_SERVER | LOCAL_SERVER | REMOTE_SERVER,
ALL = SERVER | INPROC_HANDLER
}
// Describes the event that has occurred
[Flags]
public enum SHCNE : uint
{
RENAMEITEM = 0x00000001,
CREATE = 0x00000002,
DELETE = 0x00000004,
MKDIR = 0x00000008,
RMDIR = 0x00000010,
MEDIAINSERTED = 0x00000020,
MEDIAREMOVED = 0x00000040,
DRIVEREMOVED = 0x00000080,
DRIVEADD = 0x00000100,
NETSHARE = 0x00000200,
NETUNSHARE = 0x00000400,
ATTRIBUTES = 0x00000800,
UPDATEDIR = 0x00001000,
UPDATEITEM = 0x00002000,
SERVERDISCONNECT = 0x00004000,
UPDATEIMAGE = 0x00008000,
DRIVEADDGUI = 0x00010000,
RENAMEFOLDER = 0x00020000,
FREESPACE = 0x00040000,
EXTENDED_EVENT = 0x04000000,
ASSOCCHANGED = 0x08000000,
DISKEVENTS = 0x0002381F,
GLOBALEVENTS = 0x0C0581E0,
ALLEVENTS = 0x7FFFFFFF,
INTERRUPT = 0x80000000
}
// Flags that indicate the meaning of the dwItem1 and dwItem2 parameters
[Flags]
public enum SHCNF
{
IDLIST = 0x0000,
PATHA = 0x0001,
PRINTERA = 0x0002,
DWORD = 0x0003,
PATHW = 0x0005,
PRINTERW = 0x0006,
TYPE = 0x00FF,
FLUSH = 0x1000,
FLUSHNOWAIT = 0x2000
}
// Indicate the type of events for which to receive notifications
[Flags]
public enum SHCNRF
{
InterruptLevel = 0x0001,
ShellLevel = 0x0002,
RecursiveInterrupt = 0x1000,
NewDelivery = 0x8000
}
// Indicate whether the method should try to return a name in the pwcsName member of the STATSTG structure
[Flags]
public enum STATFLAG
{
DEFAULT = 0,
NONAME = 1,
NOOPEN = 2
}
// Indicate the type of locking requested for the specified range of bytes
[Flags]
public enum LOCKTYPE
{
WRITE = 1,
EXCLUSIVE = 2,
ONLYONCE = 4
}
// Used in the type member of the STATSTG structure to indicate the type of the storage element
public enum STGTY
{
STORAGE = 1,
STREAM = 2,
LOCKBYTES = 3,
PROPERTY = 4
}
// Indicate conditions for creating and deleting the object and access modes for the object
[Flags]
public enum STGM
{
DIRECT = 0x00000000,
TRANSACTED = 0x00010000,
SIMPLE = 0x08000000,
READ = 0x00000000,
WRITE = 0x00000001,
READWRITE = 0x00000002,
SHARE_DENY_NONE = 0x00000040,
SHARE_DENY_READ = 0x00000030,
SHARE_DENY_WRITE = 0x00000020,
SHARE_EXCLUSIVE = 0x00000010,
PRIORITY = 0x00040000,
DELETEONRELEASE = 0x04000000,
NOSCRATCH = 0x00100000,
CREATE = 0x00001000,
CONVERT = 0x00020000,
FAILIFTHERE = 0x00000000,
NOSNAPSHOT = 0x00200000,
DIRECT_SWMR = 0x00400000,
}
// Indicate whether a storage element is to be moved or copied
public enum STGMOVE
{
MOVE = 0,
COPY = 1,
SHALLOWCOPY = 2
}
// Specify the conditions for performing the commit operation in the IStorage::Commit and IStream::Commit methods
[Flags]
public enum STGC
{
DEFAULT = 0,
OVERWRITE = 1,
ONLYIFCURRENT = 2,
DANGEROUSLYCOMMITMERELYTODISKCACHE = 4,
CONSOLIDATE = 8
}
// Directing the handling of the item from which you're retrieving the info tip text
[Flags]
public enum QITIPF
{
DEFAULT = 0x00000,
USENAME = 0x00001,
LINKNOTARGET = 0x00002,
LINKUSETARGET = 0x00004,
USESLOWTIP = 0x00008
}
#endregion
#region Utility Methods
public static DateTime FileTimeToDateTime(ShellAPI.FILETIME fileTime)
{
long ticks = (((long)fileTime.dwHighDateTime) << 32) + (long)fileTime.dwLowDateTime;
return DateTime.FromFileTimeUtc(ticks);
}
#endregion
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -