⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shlobj.inc

📁 这是一个数字图像处理的matlab仿真程序
💻 INC
📖 第 1 页 / 共 2 页
字号:
; Shlobj.inc
; Version 1.0 - April 9, 1999- by Bill T.
; Version 1.01 - March 18, 2000 - E Murphy for omission of GetPath in IShellLink vtable
; Version 2.0 Dec 26, 2000  - E Murphy Interfaces revised for MASM32 
;--------------------------------------------------------------------------------------------------

includelib shell32.lib

; Structures and Equates
;-------------------------------------------------------------------------------------------------

 ; THESE NOW DEFINED IN WINDOWS.INC
 ; SHITEMID struct DWORD
 ;     cb      WORD    ?
 ;     abID    BYTE    ?
 ; SHITEMID ends
 ; LPSHITEMID        typedef    PTR SHITEMID
 ; 
 ; ITEMIDLIST struct DWORD
 ;     mkid    SHITEMID    <?>
 ; ITEMIDLIST ends
 ; LPITEMIDLIST    typedef PTR ITEMIDLIST
 ; LPPITEMIDLIST    typedef PTR LPITEMIDLIST

STRRET_WSTR        equ    0000h
STRRET_OFFSET      equ    0001h
STRRET_CSTR        equ    0002h

 ; THESE NOW DEFINED IN WINDOWS.INC
 ; STRRET struct DWORD
 ;     uType          DWORD    ?        
 ;     union
 ;         pOleStr       DWORD    ? 
 ;         uOffset       DWORD    ? 
 ;         cStr          BYTE    MAX_PATH dup (?)
 ;     ends
 ; STRRET ends
 ; LPSTRRET        typedef PTR STRRET

CSIDL_DESKTOP               equ 0000h
CSIDL_PROGRAMS              equ 0002h
CSIDL_CONTROLS              equ 0003h
CSIDL_PRINTERS              equ 0004h
CSIDL_PERSONAL              equ 0005h
CSIDL_FAVORITES             equ 0006h
CSIDL_STARTUP               equ 0007h
CSIDL_RECENT                equ 0008h
CSIDL_SENDTO                equ 0009h
CSIDL_BITBUCKET             equ 000ah
CSIDL_STARTMENU             equ 000bh
CSIDL_DESKTOPDIRECTORY      equ 0010h
CSIDL_DRIVES                equ 0011h
CSIDL_NETWORK               equ 0012h
CSIDL_NETHOOD               equ 0013h
CSIDL_FONTS                 equ 0014h
CSIDL_TEMPLATES             equ 0015h

 ; THESE NOW DEFINED IN WINDOWS.INC
 ; BROWSEINFO struct DWORD
 ;     hwndOwner               DWORD     ?
 ;     pidlRoot                DWORD     ?
 ;     pszDisplayName          DWORD     ?
 ;     lpszTitle               DWORD     ?
 ;     ulFlags                 DWORD     ?
 ;     lpfn                    DWORD     ?
 ;     lParam                  DWORD     ?
 ;     iImage                  DWORD     ?
 ; BROWSEINFO ends
 ; LPBROWSEINFO    typedef    PTR BROWSEINFO

BIF_RETURNONLYFSDIRS        equ    0001h  ; For finding a folder to start document searching
BIF_DONTGOBELOWDOMAIN       equ    0002h  ; For starting the Find Computer
BIF_STATUSTEXT              equ    0004h
BIF_RETURNFSANCESTORS       equ    0008h

BIF_BROWSEFORCOMPUTER       equ    1000h  ; Browsing for Computers.
BIF_BROWSEFORPRINTER        equ    2000h  ; Browsing for Printers

BFFM_INITIALIZED            equ    1
BFFM_SELCHANGED             equ    2

BFFM_SETSTATUSTEXT          equ    WM_USER + 100
BFFM_ENABLEOK               equ    WM_USER + 101
BFFM_SETSELECTION           equ    WM_USER + 102

DVASPECT_SHORTNAME          equ    2

 ; THESE NOW DEFINED IN WINDOWS.INC
 ; NRESARRAY struct DWORD
 ;     cItems      DWORD    ?
 ;     nr          NETRESOURCE <?>
 ; NRESARRAY ends
 ; LPNRESARRAY     typedef        PTR NRESARRAY
 ; 
 ; CIDA struct DWORD
 ;     cidl        DWORD    ?
 ;     aoffset     DWORD    ?
 ; CIDA ends
 ; LPCIDA        typedef        PTR CIDA

FD_CLSID                    equ 0001h
FD_SIZEPOINT                equ 0002h
FD_ATTRIBUTES               equ 0004h
FD_CREATETIME               equ 0008h
FD_ACCESSTIME               equ 0010h
FD_WRITESTIME               equ 0020h
FD_FILESIZE                 equ 0040h
FD_LINKUI                   equ 8000h


 ; THESE NOW DEFINED IN WINDOWS.INC
 ; FILEDESCRIPTOR struct DWORD
 ;     dwFlags             DWORD     ?
 ;     clsid               GUID     <?>
 ;     sizel               SIZEL    <?>
 ;     pointl              POINTL   <?>
 ;     dwFileAttributes    DWORD     ?
 ;     ftCreationTime      FILETIME <?>
 ;     ftLastAccessTime    FILETIME <?>
 ;     ftLastWriteTime     FILETIME <?>
 ;     nFileSizeHigh       DWORD     ?
 ;     nFileSizeLow        DWORD     ?
 ;     cFileName           BYTE    MAX_PATH dup (?)
 ; FILEDESCRIPTOR ends
 ; LPFILEDESCRIPTOR         typedef PTR FILEDESCRIPTOR
 ; 
 ; FILEGROUPDESCRIPTOR struct DWORD
 ;      cItems             DWORD    ?
 ;      fgd                FILEDESCRIPTOR <?>
 ; FILEGROUPDESCRIPTOR ends
 ; LPFILEGROUPDESCRIPTOR    typedef PTR FILEGROUPDESCRIPTOR
 ; 
 ; DROPFILES struct DWORD
 ;     pFiles              DWORD    ?
 ;     pt                  POINT   <?>
 ;     fNC                 DWORD    ?                      
 ;     fWide               DWORD    ?
 ; DROPFILES ends
 ; LPDROPFILES        typedef    PTR DROPFILES

SHCNE_RENAMEITEM        equ 00000001h
SHCNE_CREATE            equ 00000002h
SHCNE_DELETE            equ 00000004h
SHCNE_MKDIR             equ 00000008h
SHCNE_RMDIR             equ 00000010h
SHCNE_MEDIAINSERTED     equ 00000020h
SHCNE_MEDIAREMOVED      equ 00000040h
SHCNE_DRIVEREMOVED      equ 00000080h
SHCNE_DRIVEADD          equ 00000100h
SHCNE_NETSHARE          equ 00000200h
SHCNE_NETUNSHARE        equ 00000400h
SHCNE_ATTRIBUTES        equ 00000800h
SHCNE_UPDATEDIR         equ 00001000h
SHCNE_UPDATEITEM        equ 00002000h
SHCNE_SERVERDISCONNECT  equ 00004000h
SHCNE_UPDATEIMAGE       equ 00008000h
SHCNE_DRIVEADDGUI       equ 00010000h
SHCNE_RENAMEFOLDER      equ 00020000h
SHCNE_FREESPACE         equ 00040000h
SHCNE_ASSOCCHANGED      equ 08000000h
SHCNE_DISKEVENTS        equ 0002381Fh
SHCNE_GLOBALEVENTS      equ 0C0581E0h 
SHCNE_ALLEVENTS         equ 7FFFFFFFh
SHCNE_INTERRUPT         equ 80000000h 
                                          
SHCNF_IDLIST            equ 0000h    
SHCNF_PATH              equ 0001h    
SHCNF_PRINTER           equ 0002h    
SHCNF_DWORD             equ 0003h
SHCNF_TYPE              equ 00FFh
SHCNF_FLUSH             equ 1000h
SHCNF_FLUSHNOWAIT       equ 2000h

SHARD_PIDL              equ    00000001h
SHARD_PATH              equ    00000002h


; Shell Functions
;-------------------------------------------------------------------------------------------------

SHGetMalloc                 PROTO :DWORD
SHGetPathFromIDList         PROTO :DWORD, :DWORD
SHGetSpecialFolderLocation  PROTO :DWORD, :DWORD, :DWORD
SHBrowseForFolder           PROTO :DWORD
SHLoadInProc                PROTO :DWORD
SHGetDesktopFolder          PROTO STDCALL :DWORD
SHChangeNotify              PROTO :DWORD, :DWORD, :DWORD, :DWORD
SHAddToRecentDocs           PROTO :DWORD, :DWORD
SHGetInstanceExplorer       PROTO :DWORD
SHGetFileInfo               PROTO :DWORD, :DWORD, :DWORD, :DWORD, :DWORD


; IContextMenu interface
;-------------------------------------------------------------------------------------------------
; public IUnknown


sIID_IContextMenu           TEXTEQU      <{0000214E4H, 00000H, 00000H,  \
                                          {0C0H, 000H, 000H, 000H, 000H, 000H, 000H, 046H}}>

CMF_NORMAL              equ    00000000h
CMF_DEFAULTONLY         equ    00000001h
CMF_VERBSONLY           equ    00000002h
CMF_EXPLORE             equ    00000004h
CMF_RESERVED            equ    0ffff0000h

GCS_VERB                equ    00000000h        ; canonical verb
GCS_HELPTEXT            equ    00000001h        ; help text (for status bar)
GCS_VALIDATE            equ    00000002h        ; validate command exists
    
CMIC_MASK_HOTKEY        equ    SEE_MASK_HOTKEY
CMIC_MASK_ICON          equ    SEE_MASK_ICON
CMIC_MASK_FLAG_NO_UI    equ    SEE_MASK_FLAG_NO_UI
CMIC_MASK_MODAL         equ    80000000h               ; Internal

CMIC_VALID_SEE_FLAGS    equ    SEE_VALID_CMIC_FLAGS    ; Internal 

 ; THESE NOW DEFINED IN WINDOWS.INC
 ; CMINVOKECOMMANDINFO struct DWORD
 ;     cbSize              DWORD ?        ; must be sizeof(CMINVOKECOMMANDINFO)
 ;     fMask               DWORD ?        ; any combination of CMIC_MASK_*
 ;     hwnd                DWORD ?        ; might be NULL (indicating no owner window)
 ;     lpVerb              DWORD ?        ; either a string of MAKEINTRESOURCE(idOffset)
 ;     lpParameters        DWORD ?        ; might be NULL (indicating no parameter)
 ;     lpDirectory         DWORD ?        ; might be NULL (indicating no specific directory)
 ;     nShow               DWORD ?        ; one of SW_ values for ShowWindow() API
 ;     dwHotKey            DWORD ?
 ;     hIcon               DWORD ?
 ; CMINVOKECOMMANDINFO ends 
 ; LPCMINVOKECOMMANDINFO typedef ptr CMINVOKECOMMANDINFO

LPCONTEXTMENU           typedef     DWORD
LPPCONTEXTMENU          typedef     PTR LPCONTEXTMENU

_vtIContextMenu MACRO CastName:REQ
    ; IUnknown methods 
    _vtIUnknown CastName
    ; IContextMenu methods
    &CastName&_QueryContextMenu         comethod6 ?    
    &CastName&_InvokeCommand            comethod2 ?
    &CastName&_GetCommandString         comethod6 ?
ENDM

IContextMenu                      STRUCT
    _vtIContextMenu IContextMenu
IContextMenu                      ENDS


; IShellExtInit interface
;-------------------------------------------------------------------------------------------------
; public IUnknown


sIID_IShellExtInit           TEXTEQU      <{0000214E8H, 00000H, 00000H,  \
                                           {0C0H, 000H, 000H, 000H, 000H, 000H, 000H, 046H}}>

LPSHELLEXTINIT          typedef    DWORD
LPPSHELLEXTINIT         typedef    PTR LPSHELLEXTINIT

_vtIShellExtInit MACRO CastName:REQ
    ; IUnknown methods 
    _vtIUnknown CastName
    ; IShellExtInit methods
    &CastName&_Initialize             comethod4 ?
ENDM

IShellExtInit                      STRUCT
    _vtIShellExtInit IShellExtInit
IShellExtInit                      ENDS


; IShellPropSheetExt
;-------------------------------------------------------------------------------------------------
; public IUnknown


sIID_IShellPropSheetExt      TEXTEQU      <{0000214E9H, 00000H, 00000H,  \
                                           {0C0H, 000H, 000H, 000H, 000H, 000H, 000H, 046H}}>

LPSHELLPROPSHEETEXT     typedef    DWORD        
LPPSHELLPROPSHEETEXT    typedef    PTR LPSHELLPROPSHEETEXT

_vtIShellPropSheetExt MACRO CastName:REQ
    ; IUnknown methods 
    _vtIUnknown CastName
    ; IShellPropSheetExt methods

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -