|
|
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.