|
|
1.1 ! root 1: #include <windows.h> ! 2: #include <windowsx.h> ! 3: #include <ddeml.h> ! 4: ! 5: #define IDM_ABOUT 100 ! 6: #define IDM_BLOCKALLCBS 200 ! 7: #define IDM_ENABLEONECB 201 ! 8: #define IDM_BLOCKNEXTCB 202 ! 9: #define IDM_TERMNEXTCB 203 ! 10: #define IDM_RUNAWAY 204 ! 11: #define IDM_CHANGEDATA 205 ! 12: #define IDM_RENDERDELAY 206 ! 13: #define IDM_SETTOPIC 207 ! 14: #define IDM_SETSERVER 208 ! 15: #define IDM_UNBLOCKALLCBS 209 ! 16: #define IDM_HELP 210 ! 17: #define IDM_CONTEXT 211 ! 18: #define IDM_APPOWNED 212 ! 19: ! 20: #define IDS_BADLENGTH 1 ! 21: ! 22: #define MAX_TOPIC 20 ! 23: #define MAX_COMMENT 40 ! 24: #define MAX_EXEC 40 ! 25: #define CCHARS 80 ! 26: #define CLINES 40 ! 27: ! 28: #define UM_CHGDATA (WM_USER + 435) ! 29: ! 30: #define CSYSTEMITEMS 4 ! 31: #define CTESTITEMS 4 ! 32: #define CTOPICS 2 ! 33: ! 34: #include "dialog.h" ! 35: ! 36: /****** Structrues ******/ ! 37: ! 38: // predefined format list item ! 39: ! 40: typedef struct { ! 41: ATOM atom; ! 42: PSTR sz; ! 43: } FORMATINFO; ! 44: #define CFORMATS 3 ! 45: ! 46: extern FORMATINFO aFormats[]; ! 47: ! 48: typedef struct _XFERINFO { ! 49: WORD wType; ! 50: WORD wFmt; ! 51: HCONV hConv; ! 52: HSZ hszTopic; ! 53: HSZ hszItem; ! 54: HDDEDATA hData; ! 55: DWORD lData1; ! 56: DWORD lData2; ! 57: } XFERINFO; ! 58: typedef XFERINFO *PXFERINFO; ! 59: ! 60: typedef struct _ITEMLIST { ! 61: HSZ hszItem; ! 62: HDDEDATA (*npfnCallback)(PXFERINFO, WORD); ! 63: PSTR pszItem; ! 64: } ITEMLIST; ! 65: ! 66: typedef struct _TOPICLIST { ! 67: HSZ hszTopic; ! 68: ITEMLIST *pItemList; ! 69: WORD cItems; ! 70: PSTR pszTopic; ! 71: } TOPICLIST; ! 72: ! 73: typedef struct { // used to passinfo to/from TextDataEntryDlgProc and ! 74: HDDEDATA hDdeData; ! 75: WORD wFmt; ! 76: HSZ hszItem; ! 77: } XACT; ! 78: ! 79: ! 80: ! 81: // GLOBALS ! 82: ! 83: extern DWORD idInst; ! 84: extern CONVCONTEXT CCFilter; ! 85: extern HANDLE hInst; ! 86: extern HWND hwndServer; ! 87: extern RECT rcRand; ! 88: extern RECT rcCount; ! 89: extern RECT rcComment; ! 90: extern RECT rcExec; ! 91: extern RECT rcConnCount; ! 92: extern RECT rcRndrDelay; ! 93: extern RECT rcRunaway; ! 94: extern RECT rcAllBlock; ! 95: extern RECT rcNextAction; ! 96: extern RECT rcHugeSize; ! 97: extern RECT rcAppowned; ! 98: extern BOOL fAllBlocked; ! 99: extern BOOL fAllEnabled; ! 100: extern BOOL fEnableOneCB; ! 101: extern BOOL fBlockNextCB; ! 102: extern BOOL fTermNextCB; ! 103: extern BOOL fAppowned; ! 104: extern WORD cRunaway; ! 105: extern WORD RenderDelay; ! 106: extern DWORD count; ! 107: extern HSZ hszAppName; ! 108: extern CHAR szClass[]; ! 109: extern CHAR szTopic[MAX_TOPIC]; ! 110: extern CHAR szServer[MAX_TOPIC]; ! 111: extern CHAR szComment[MAX_COMMENT]; ! 112: extern CHAR szExec[MAX_EXEC]; ! 113: extern CHAR *pszComment; ! 114: extern WORD seed; ! 115: extern WORD cyText; ! 116: extern WORD cServers; ! 117: extern HDDEDATA hDataHelp[CFORMATS]; ! 118: extern HDDEDATA hDataCount[CFORMATS]; ! 119: extern HDDEDATA hDataRand[CFORMATS]; ! 120: extern HDDEDATA hDataHuge[CFORMATS]; ! 121: extern DWORD cbHuge; ! 122: ! 123: extern CHAR szDdeHelp[]; ! 124: extern FORMATINFO aFormats[CFORMATS]; ! 125: extern ITEMLIST SystemTopicItemList[CSYSTEMITEMS]; ! 126: extern ITEMLIST TestTopicItemList[CTESTITEMS]; ! 127: extern TOPICLIST topicList[CTOPICS]; ! 128: ! 129: ! 130: // FUNCTIONS ! 131: ! 132: ! 133: BOOL InitApplication(HANDLE); ! 134: BOOL InitInstance(HANDLE, INT); ! 135: INT FAR DoDialog(LPSTR lpTemplateName, FARPROC lpDlgProc, DWORD param, BOOL fRememberFocus); ! 136: LONG APIENTRY MainWndProc(HWND, UINT, WPARAM, LONG); ! 137: BOOL APIENTRY About(HWND, UINT, WPARAM, LONG); ! 138: BOOL APIENTRY RenderDelayDlgProc(HWND, UINT, WPARAM, LONG); ! 139: BOOL APIENTRY SetTopicDlgProc(HWND, UINT, WPARAM, LONG); ! 140: BOOL APIENTRY SetServerDlgProc(HWND, UINT, WPARAM, LONG); ! 141: BOOL APIENTRY ContextDlgProc(HWND, UINT, WPARAM, LONG); ! 142: VOID PaintServer(HWND hwnd); ! 143: VOID DrawTextLine(HDC hdc, RECT *prcClip, RECT *prcText, PSTR psz); ! 144: HDDEDATA CALLBACK DdeCallback(WORD wType, WORD wFmt, HCONV hConv, HSZ hszTopic, ! 145: HSZ hszItem, HDDEDATA hData, DWORD lData1, DWORD lData2); ! 146: HDDEDATA TopicListXfer(PXFERINFO pXferInfo, WORD iFmt); ! 147: HDDEDATA ItemListXfer(PXFERINFO pXferInfo, WORD iFmt); ! 148: HDDEDATA sysFormatsXfer(PXFERINFO pXferInfo, WORD iFmt); ! 149: HDDEDATA TestRandomXfer(PXFERINFO pXferInfo, WORD iFmt); ! 150: HDDEDATA TestCountXfer(PXFERINFO pXferInfo, WORD iFmt); ! 151: HDDEDATA TestHugeXfer(PXFERINFO pXferInfo, WORD iFmt); ! 152: HDDEDATA HelpXfer(PXFERINFO pXferInfo, WORD iFmt); ! 153: VOID Hszize(VOID); ! 154: VOID UnHszize(VOID); ! 155: VOID Delay(DWORD delay, BOOL fModal); ! 156: ! 157: ! 158:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.