WFExt.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:6k
源码类别:

模拟服务器

开发平台:

C/C++

  1. /*****************************************************************************
  2. *                                                                             *
  3. * wfext.h -     Windows File Manager Extensions definitions (Win32 variant)   *
  4. *                                                                             *
  5. *               Version 3.10                                                  *
  6. *                                                                             *
  7. *               Copyright (c) 1991-1999, Microsoft Corp. All rights reserved. *
  8. *                                                                             *
  9. *******************************************************************************/
  10. #ifndef _INC_WFEXT
  11. #define _INC_WFEXT            /* #defined if wfext.h has been included */
  12. #if _MSC_VER > 1000
  13. #pragma once
  14. #endif
  15. #ifdef __cplusplus            /* Assume C declaration for C++ */
  16. extern "C" {
  17. #endif  /* __cplusplus */
  18. #define MENU_TEXT_LEN           40
  19. #define FMMENU_FIRST            1
  20. #define FMMENU_LAST             99
  21. #define FMEVENT_LOAD            100
  22. #define FMEVENT_UNLOAD          101
  23. #define FMEVENT_INITMENU        102
  24. #define FMEVENT_USER_REFRESH    103
  25. #define FMEVENT_SELCHANGE       104
  26. #define FMEVENT_TOOLBARLOAD     105
  27. #define FMEVENT_HELPSTRING      106
  28. #define FMEVENT_HELPMENUITEM    107
  29. #define FMFOCUS_DIR             1
  30. #define FMFOCUS_TREE            2
  31. #define FMFOCUS_DRIVES          3
  32. #define FMFOCUS_SEARCH          4
  33. #define FM_GETFOCUS           (WM_USER + 0x0200)
  34. #define FM_GETSELCOUNT        (WM_USER + 0x0202)
  35. #define FM_GETSELCOUNTLFN     (WM_USER + 0x0203)  /* LFN versions are odd */
  36. #define FM_REFRESH_WINDOWS    (WM_USER + 0x0206)
  37. #define FM_RELOAD_EXTENSIONS  (WM_USER + 0x0207)
  38. #define FM_GETDRIVEINFOA      (WM_USER + 0x0201)
  39. #define FM_GETFILESELA        (WM_USER + 0x0204)
  40. #define FM_GETFILESELLFNA     (WM_USER + 0x0205)  /* LFN versions are odd */
  41. #define FM_GETDRIVEINFOW      (WM_USER + 0x0211)
  42. #define FM_GETFILESELW        (WM_USER + 0x0214)
  43. #define FM_GETFILESELLFNW     (WM_USER + 0x0215)  /* LFN versions are odd */
  44. #ifdef UNICODE
  45. #define FM_GETDRIVEINFO    FM_GETDRIVEINFOW
  46. #define FM_GETFILESEL      FM_GETFILESELW
  47. #define FM_GETFILESELLFN   FM_GETFILESELLFNW
  48. #else
  49. #define FM_GETDRIVEINFO    FM_GETDRIVEINFOA
  50. #define FM_GETFILESEL      FM_GETFILESELA
  51. #define FM_GETFILESELLFN   FM_GETFILESELLFNA
  52. #endif
  53. typedef struct _FMS_GETFILESELA {
  54.    FILETIME ftTime;
  55.    DWORD dwSize;
  56.    BYTE bAttr;
  57.    CHAR szName[260];          // always fully qualified
  58. } FMS_GETFILESELA, FAR *LPFMS_GETFILESELA;
  59. typedef struct _FMS_GETFILESELW {
  60.    FILETIME ftTime ;
  61.    DWORD dwSize;
  62.    BYTE bAttr;
  63.    WCHAR szName[260];          // always fully qualified
  64. } FMS_GETFILESELW, FAR *LPFMS_GETFILESELW;
  65. #ifdef UNICODE
  66. #define FMS_GETFILESEL   FMS_GETFILESELW
  67. #define LPFMS_GETFILESEL LPFMS_GETFILESELW
  68. #else
  69. #define FMS_GETFILESEL   FMS_GETFILESELA
  70. #define LPFMS_GETFILESEL LPFMS_GETFILESELA
  71. #endif
  72. typedef struct _FMS_GETDRIVEINFOA {      // for drive
  73.    DWORD dwTotalSpace;
  74.    DWORD dwFreeSpace;
  75.    CHAR  szPath[260];                    // current directory
  76.    CHAR  szVolume[14];                   // volume label
  77.    CHAR  szShare[128];                   // if this is a net drive
  78. } FMS_GETDRIVEINFOA, FAR *LPFMS_GETDRIVEINFOA;
  79. typedef struct _FMS_GETDRIVEINFOW {      // for drive
  80.    DWORD dwTotalSpace;
  81.    DWORD dwFreeSpace;
  82.    WCHAR szPath[260];                    // current directory
  83.    WCHAR szVolume[14];                   // volume label
  84.    WCHAR szShare[128];                   // if this is a net drive
  85. } FMS_GETDRIVEINFOW, FAR *LPFMS_GETDRIVEINFOW;
  86. #ifdef UNICODE
  87. #define FMS_GETDRIVEINFO   FMS_GETDRIVEINFOW
  88. #define LPFMS_GETDRIVEINFO LPFMS_GETDRIVEINFOW
  89. #else
  90. #define FMS_GETDRIVEINFO   FMS_GETDRIVEINFOA
  91. #define LPFMS_GETDRIVEINFO LPFMS_GETDRIVEINFOA
  92. #endif
  93. typedef struct _FMS_LOADA {
  94.    DWORD dwSize;                        // for version checks
  95.    CHAR  szMenuName[MENU_TEXT_LEN];     // output
  96.    HMENU hMenu;                         // output
  97.    UINT  wMenuDelta;                    // input
  98. } FMS_LOADA, FAR *LPFMS_LOADA;
  99. typedef struct _FMS_LOADW {
  100.    DWORD dwSize;                        // for version checks
  101.    WCHAR szMenuName[MENU_TEXT_LEN];     // output
  102.    HMENU hMenu;                         // output
  103.    UINT  wMenuDelta;                    // input
  104. } FMS_LOADW, FAR *LPFMS_LOADW;
  105. #ifdef UNICODE
  106. #define FMS_LOAD   FMS_LOADW
  107. #define LPFMS_LOAD LPFMS_LOADW
  108. #else
  109. #define FMS_LOAD   FMS_LOADA
  110. #define LPFMS_LOAD LPFMS_LOADA
  111. #endif
  112. // Toolbar definitions
  113. typedef struct tagEXT_BUTTON {
  114.    WORD idCommand;                 /* menu command to trigger */
  115.    WORD idsHelp;                   /* help string ID */
  116.    WORD fsStyle;                   /* button style */
  117. } EXT_BUTTON, FAR *LPEXT_BUTTON;
  118. typedef struct tagFMS_TOOLBARLOAD {
  119.    DWORD dwSize;                   /* for version checks */
  120.    LPEXT_BUTTON lpButtons;         /* output */
  121.    WORD cButtons;                  /* output, 0==>no buttons */
  122.    WORD cBitmaps;                  /* number of non-sep buttons */
  123.    WORD idBitmap;                  /* output */
  124.    HBITMAP hBitmap;                /* output if idBitmap==0 */
  125. } FMS_TOOLBARLOAD, FAR *LPFMS_TOOLBARLOAD;
  126. typedef struct tagFMS_HELPSTRINGA {
  127.    INT   idCommand;       /* input, -1==>the menu was selected */
  128.    HMENU hMenu;           /* input, the extensions menu */
  129.    CHAR  szHelp[128];     /* output, the help string */
  130. } FMS_HELPSTRINGA, FAR *LPFMS_HELPSTRINGA;
  131. typedef struct tagFMS_HELPSTRINGW {
  132.    INT   idCommand;       /* input, -1==>the menu was selected */
  133.    HMENU hMenu;           /* input, the extensions menu */
  134.    WCHAR szHelp[128];     /* output, the help string */
  135. } FMS_HELPSTRINGW, FAR *LPFMS_HELPSTRINGW;
  136. #ifdef UNICODE
  137. #define FMS_HELPSTRING   FMS_HELPSTRINGW
  138. #define LPFMS_HELPSTRING LPFMS_HELPSTRINGW
  139. #else
  140. #define FMS_HELPSTRING   FMS_HELPSTRINGA
  141. #define LPFMS_HELPSTRING LPFMS_HELPSTRINGA
  142. #endif
  143. typedef DWORD (APIENTRY *FM_EXT_PROC)(HWND, WORD, LONG);
  144. typedef DWORD (APIENTRY *FM_UNDELETE_PROC)(HWND, LPTSTR);
  145. #ifdef UNICODE
  146. LONG WINAPI FMExtensionProcW(HWND hwnd, WORD wEvent, LONG lParam);
  147. #else
  148. LONG WINAPI FMExtensionProc(HWND hwnd, WORD wEvent, LONG lParam);
  149. #endif
  150. #ifdef __cplusplus
  151. }                  /* End of extern "C" { */
  152. #endif             /* __cplusplus */
  153. #endif             /* _INC_WFEXT */