CLIENT.H
资源名称:MSDN_VC98.zip [点击查看]
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:5k
源码类别:
Windows编程
开发平台:
Visual C++
- /*
- - C L I E N T . H
- -
- * Purpose:
- * Header file for the sample mail client based on Simple MAPI.
- *
- * Copyright 1993-1995 Microsoft Corporation. All Rights Reserved.
- */
- #include "smapi.h"
- /* Menu Item IDs */
- #define IDM_LOGON 100
- #define IDM_LOGOFF 101
- #define IDM_EXIT 102
- #define IDM_COMPOSE 103
- #define IDM_READ 104
- #define IDM_SEND 105
- #define IDM_ADDRBOOK 106
- #define IDM_DETAILS 107
- #define IDM_ABOUT 108
- /* Resource IDs */
- #define ICON_NOMAIL 200
- #define ICON_MAIL 201
- #define IDB_ENVELOPE 300
- /* Address Book Control IDs */
- #define IDT_ADDRESS 101
- #define IDC_ADDRESS 102
- #define IDT_LIST 103
- #define IDC_LIST 104
- #define IDC_ADD 105
- #define IDC_REMOVE 106
- /* Compose Note Control IDs */
- #define IDC_SEND 101
- #define IDC_RESOLVE 102
- #define IDC_ATTACH 103
- #define IDC_OPTIONS 104
- #define IDC_ADDRBOOK 105
- #define IDT_TO 106
- #define IDC_TO 107
- #define IDT_CC 108
- #define IDC_CC 109
- #define IDT_SUBJECT 110
- #define IDC_SUBJECT 111
- #define IDC_NOTE 112
- #define IDC_CATTACHMENT 113
- #define IDT_CATTACHMENT 114
- #define IDC_LINE1 -1
- #define IDC_LINE2 -1
- /* InBox Control IDs */
- #define IDT_MSG 101
- #define IDC_MSG 102
- #define IDC_NEW 103
- #define IDC_READ 104
- #define IDC_DELETE 105
- #define IDC_CLOSE 106
- /* ReadNote Control IDs */
- #define IDC_SAVECHANGES 101
- #define IDC_SAVEATTACH 102
- #define IDC_REPLY 103
- #define IDC_REPLYALL 104
- #define IDC_FORWARD 105
- #define IDT_RFROM 106
- #define IDT_RDATE 107
- #define IDT_RTO 108
- #define IDT_RCC 109
- #define IDT_RSUBJECT 110
- #define IDC_RFROM 111
- #define IDC_RDATE 112
- #define IDC_RTO 113
- #define IDC_RCC 114
- #define IDC_RSUBJECT 115
- #define IDC_READNOTE 116
- #define IDT_ATTACHMENT 117
- #define IDC_ATTACHMENT 118
- /* Options Control IDs */
- #define IDC_RETURN 101
- /* Details Control IDs */
- #define IDT_NAME 100
- #define IDC_NAME 101
- #define IDT_TYPE 102
- #define IDC_TYPE 103
- #define IDT_ADDR 104
- #define IDC_ADDR 105
- /* About Box Control IDs */
- #define IDC_VERSION 101
- /* String Table IDs */
- #define MAPI_ERROR_MAX 30
- #define IDS_LOGONFAIL (MAPI_ERROR_MAX + 1)
- #define IDS_ADDRBOOKFAIL (MAPI_ERROR_MAX + 2)
- #define IDS_RESOLVEFAIL (MAPI_ERROR_MAX + 3)
- #define IDS_UNRESOLVEDNAMES (MAPI_ERROR_MAX + 4)
- #define IDS_SENDERROR (MAPI_ERROR_MAX + 5)
- #define IDS_DETAILS_TOO_MANY (MAPI_ERROR_MAX + 6)
- #define IDS_DETAILSFAIL (MAPI_ERROR_MAX + 7)
- #define IDS_NORECIPS (MAPI_ERROR_MAX + 8)
- #define IDS_SAVEATTACHERROR (MAPI_ERROR_MAX + 9)
- #define IDS_READFAIL (MAPI_ERROR_MAX + 10)
- #define IDS_DIALOGACTIVE (MAPI_ERROR_MAX + 11)
- #define IDS_FILTER (MAPI_ERROR_MAX + 50)
- /* Manifest Constants */
- #define ADDR_MAX 128
- #define MAXUSERS 10
- #define TO_EDIT_MAX 512
- #define CC_EDIT_MAX 512
- #define SUBJECT_EDIT_MAX 128
- #define NOTE_LINE_MAX 1024
- #define FILE_ATTACH_MAX 32
- /* Message Box styles */
- #define MBS_ERROR (MB_ICONSTOP | MB_OK)
- #define MBS_INFO (MB_ICONINFORMATION | MB_OK)
- #define MBS_OOPS (MB_ICONEXCLAMATION | MB_OK)
- /* Structure Definitions */
- typedef struct _msgid *LPMSGID;
- typedef struct _msgid
- {
- LPSTR lpszMsgID;
- BOOL fHasAttach;
- BOOL fUnRead;
- LPSTR lpszFrom;
- LPSTR lpszSubject;
- LPSTR lpszDateRec;
- LPMSGID lpPrev;
- LPMSGID lpNext;
- } MSGID;
- /* Function Prototypes */
- int PASCAL WinMain(HINSTANCE, HINSTANCE, LPSTR, int);
- BOOL InitApplication(HANDLE);
- BOOL InitInstance(HANDLE, int);
- void DeinitApplication(void);
- long FAR PASCAL MainWndProc(HWND, UINT, UINT, LPARAM);
- BOOL FAR PASCAL AboutDlgProc(HWND, UINT, UINT, LONG);
- BOOL FAR PASCAL ComposeDlgProc(HWND, UINT, UINT, LONG);
- BOOL FAR PASCAL InBoxDlgProc(HWND, UINT, UINT, LONG);
- BOOL FAR PASCAL ReadMailDlgProc(HWND, UINT, UINT, LONG);
- BOOL FAR PASCAL OptionsDlgProc(HWND, UINT, UINT, LONG);
- BOOL FAR PASCAL DetailsDlgProc(HWND, UINT, UINT, LONG);
- void MakeMessageBox(HWND, ULONG, UINT, UINT);
- ULONG ResolveFriendlyNames(HWND, LPSTR, ULONG, ULONG *, lpMapiRecipDesc *);
- ULONG CopyRecipient(lpMapiRecipDesc, lpMapiRecipDesc, lpMapiRecipDesc);
- ULONG GetNextFile(HWND, ULONG, ULONG *, lpMapiFileDesc *);
- ULONG CopyAttachment(lpMapiFileDesc, lpMapiFileDesc, lpMapiFileDesc);
- BOOL FNameInList(LPSTR, ULONG, lpMapiRecipDesc);
- LPMSGID MakeMsgNode(lpMapiMessage, LPSTR);
- LPMSGID FindNode(LPMSGID, LPSTR);
- void InsertMsgNode(LPMSGID, LPMSGID *);
- void DeleteMsgNode(LPMSGID, LPMSGID *);
- void FreeMsgList(LPMSGID);
- void MakeDisplayNameStr(LPSTR, ULONG, ULONG, lpMapiRecipDesc);
- ULONG SaveMsgChanges(HWND, lpMapiMessage, LPSTR);
- ULONG MakeNewMessage(lpMapiMessage, UINT);
- void LogSendMail(ULONG);
- void SaveFileAttachments(HWND, lpMapiFileDesc);
- void ToggleMenuState(HWND, BOOL);
- BOOL fSMAPIInstalled(void);
- void SecureMenu(HWND hWnd, BOOL fBeforeLogon);