cmd: Add test to show ~dp0 should be directory containing batch file.
[wine] / include / winuser.rh
1 /*
2  * Copyright (C) the Wine project
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18
19 /* Window Styles */
20 #define WS_OVERLAPPED    0x00000000L
21 #define WS_POPUP         0x80000000L
22 #define WS_CHILD         0x40000000L
23 #define WS_MINIMIZE      0x20000000L
24 #define WS_VISIBLE       0x10000000L
25 #define WS_DISABLED      0x08000000L
26 #define WS_CLIPSIBLINGS  0x04000000L
27 #define WS_CLIPCHILDREN  0x02000000L
28 #define WS_MAXIMIZE      0x01000000L
29 #define WS_CAPTION       0x00C00000L
30 #define WS_BORDER        0x00800000L
31 #define WS_DLGFRAME      0x00400000L
32 #define WS_VSCROLL       0x00200000L
33 #define WS_HSCROLL       0x00100000L
34 #define WS_SYSMENU       0x00080000L
35 #define WS_THICKFRAME    0x00040000L
36 #define WS_GROUP         0x00020000L
37 #define WS_TABSTOP       0x00010000L
38 #define WS_MINIMIZEBOX   0x00020000L
39 #define WS_MAXIMIZEBOX   0x00010000L
40 #define WS_TILED         WS_OVERLAPPED
41 #define WS_ICONIC        WS_MINIMIZE
42 #define WS_SIZEBOX       WS_THICKFRAME
43 #define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME| WS_MINIMIZEBOX | WS_MAXIMIZEBOX)
44 #define WS_POPUPWINDOW (WS_POPUP | WS_BORDER | WS_SYSMENU)
45 #define WS_CHILDWINDOW (WS_CHILD)
46 #define WS_TILEDWINDOW (WS_OVERLAPPEDWINDOW)
47
48 /* Window extended styles */
49 #define WS_EX_DLGMODALFRAME    0x00000001L
50 #define WS_EX_DRAGDETECT       0x00000002L
51 #define WS_EX_NOPARENTNOTIFY   0x00000004L
52 #define WS_EX_TOPMOST          0x00000008L
53 #define WS_EX_ACCEPTFILES      0x00000010L
54 #define WS_EX_TRANSPARENT      0x00000020L
55 #define WS_EX_MDICHILD         0x00000040L
56 #define WS_EX_TOOLWINDOW       0x00000080L
57 #define WS_EX_WINDOWEDGE       0x00000100L
58 #define WS_EX_CLIENTEDGE       0x00000200L
59 #define WS_EX_CONTEXTHELP      0x00000400L
60 #define WS_EX_RIGHT            0x00001000L
61 #define WS_EX_LEFT             0x00000000L
62 #define WS_EX_RTLREADING       0x00002000L
63 #define WS_EX_LTRREADING       0x00000000L
64 #define WS_EX_LEFTSCROLLBAR    0x00004000L
65 #define WS_EX_RIGHTSCROLLBAR   0x00000000L
66 #define WS_EX_CONTROLPARENT    0x00010000L
67 #define WS_EX_STATICEDGE       0x00020000L
68 #define WS_EX_APPWINDOW        0x00040000L
69 #define WS_EX_LAYERED          0x00080000L
70 #define WS_EX_NOINHERITLAYOUT  0x00100000L
71 #define WS_EX_LAYOUTRTL        0x00400000L
72 #define WS_EX_COMPOSITED       0x02000000L
73 #define WS_EX_NOACTIVATE       0x08000000L
74
75 #define WS_EX_OVERLAPPEDWINDOW (WS_EX_WINDOWEDGE|WS_EX_CLIENTEDGE)
76 #define WS_EX_PALETTEWINDOW    (WS_EX_WINDOWEDGE|WS_EX_TOOLWINDOW|WS_EX_TOPMOST)
77
78 /* Standard dialog button IDs */
79 #define IDOK                1
80 #define IDCANCEL            2
81 #define IDABORT             3
82 #define IDRETRY             4
83 #define IDIGNORE            5
84 #define IDYES               6
85 #define IDNO                7
86 #define IDCLOSE             8
87 #define IDHELP              9
88 #define IDTRYAGAIN         10
89 #define IDCONTINUE         11
90
91 /* Win32 button control messages */
92 #define BM_GETCHECK          0x00f0
93 #define BM_SETCHECK          0x00f1
94 #define BM_GETSTATE          0x00f2
95 #define BM_SETSTATE          0x00f3
96 #define BM_SETSTYLE          0x00f4
97 #define BM_CLICK             0x00f5
98 #define BM_GETIMAGE          0x00f6
99 #define BM_SETIMAGE          0x00f7
100
101 /* Button states */
102 #define BST_UNCHECKED        0x0000
103 #define BST_CHECKED          0x0001
104 #define BST_INDETERMINATE    0x0002
105 #define BST_PUSHED           0x0004
106 #define BST_FOCUS            0x0008
107
108 /* Button control styles */
109 #define BS_PUSHBUTTON          0x00000000L
110 #define BS_DEFPUSHBUTTON       0x00000001L
111 #define BS_CHECKBOX            0x00000002L
112 #define BS_AUTOCHECKBOX        0x00000003L
113 #define BS_RADIOBUTTON         0x00000004L
114 #define BS_3STATE              0x00000005L
115 #define BS_AUTO3STATE          0x00000006L
116 #define BS_GROUPBOX            0x00000007L
117 #define BS_USERBUTTON          0x00000008L
118 #define BS_AUTORADIOBUTTON     0x00000009L
119 #define BS_OWNERDRAW           0x0000000BL
120 #define BS_LEFTTEXT            0x00000020L
121 #define BS_RIGHTBUTTON         BS_LEFTTEXT
122
123 #define BS_TEXT                0x00000000L
124 #define BS_ICON                0x00000040L
125 #define BS_BITMAP              0x00000080L
126 #define BS_LEFT                0x00000100L
127 #define BS_RIGHT               0x00000200L
128 #define BS_CENTER              0x00000300L
129 #define BS_TOP                 0x00000400L
130 #define BS_BOTTOM              0x00000800L
131 #define BS_VCENTER             0x00000C00L
132 #define BS_PUSHLIKE            0x00001000L
133 #define BS_MULTILINE           0x00002000L
134 #define BS_NOTIFY              0x00004000L
135 #define BS_FLAT                0x00008000L
136
137 /* Combo box styles */
138 #define CBS_SIMPLE            0x0001L
139 #define CBS_DROPDOWN          0x0002L
140 #define CBS_DROPDOWNLIST      0x0003L
141 #define CBS_OWNERDRAWFIXED    0x0010L
142 #define CBS_OWNERDRAWVARIABLE 0x0020L
143 #define CBS_AUTOHSCROLL       0x0040L
144 #define CBS_OEMCONVERT        0x0080L
145 #define CBS_SORT              0x0100L
146 #define CBS_HASSTRINGS        0x0200L
147 #define CBS_NOINTEGRALHEIGHT  0x0400L
148 #define CBS_DISABLENOSCROLL   0x0800L
149
150 #define CBS_UPPERCASE         0x2000L
151 #define CBS_LOWERCASE         0x4000L
152
153 /* Dialog styles */
154 #define DS_ABSALIGN             0x0001
155 #define DS_SYSMODAL             0x0002
156 #define DS_3DLOOK               0x0004  /* win95 */
157 #define DS_FIXEDSYS             0x0008  /* win95 */
158 #define DS_NOFAILCREATE         0x0010  /* win95 */
159 #define DS_LOCALEDIT            0x0020
160 #define DS_SETFONT              0x0040
161 #define DS_MODALFRAME           0x0080
162 #define DS_NOIDLEMSG            0x0100
163 #define DS_SETFOREGROUND        0x0200  /* win95 */
164 #define DS_CONTROL              0x0400  /* win95 */
165 #define DS_CENTER               0x0800  /* win95 */
166 #define DS_CENTERMOUSE          0x1000  /* win95 */
167 #define DS_CONTEXTHELP          0x2000  /* win95 */
168 #define DS_USEPIXELS            0x8000
169 #define DS_SHELLFONT            (DS_SETFONT | DS_FIXEDSYS)
170
171 /* Edit control styles */
172 #define ES_LEFT         0x00000000
173 #define ES_CENTER       0x00000001
174 #define ES_RIGHT        0x00000002
175 #define ES_MULTILINE    0x00000004
176 #define ES_UPPERCASE    0x00000008
177 #define ES_LOWERCASE    0x00000010
178 #define ES_PASSWORD     0x00000020
179 #define ES_AUTOVSCROLL  0x00000040
180 #define ES_AUTOHSCROLL  0x00000080
181 #define ES_NOHIDESEL    0x00000100
182 #define ES_COMBO        0x00000200   /* Undocumented. Parent is a combobox */
183 #define ES_OEMCONVERT   0x00000400
184 #define ES_READONLY     0x00000800
185 #define ES_WANTRETURN   0x00001000
186 #define ES_NUMBER       0x00002000
187
188
189 #define HELP_CONTEXT        0x0001
190 #define HELP_QUIT           0x0002
191 #define HELP_INDEX          0x0003
192 #define HELP_CONTENTS       0x0003
193 #define HELP_HELPONHELP     0x0004
194 #define HELP_SETINDEX       0x0005
195 #define HELP_SETCONTENTS    0x0005
196 #define HELP_CONTEXTPOPUP   0x0008
197 #define HELP_FORCEFILE      0x0009
198 #define HELP_KEY            0x0101
199 #define HELP_COMMAND        0x0102
200 #define HELP_PARTIALKEY     0x0105
201 #define HELP_MULTIKEY       0x0201
202 #define HELP_SETWINPOS      0x0203
203 #define HELP_CONTEXTMENU    0x000a
204 #define HELP_FINDER         0x000b
205 #define HELP_WM_HELP        0x000c
206 #define HELP_SETPOPUP_POS   0x000d
207
208 #define HELP_TCARD          0x8000
209 #define HELP_TCARD_DATA     0x0010
210 #define HELP_TCARD_OTHER_CALLER 0x0011
211
212
213 #define IDH_NO_HELP             28440
214 #define IDH_MISSING_CONTEXT     28441
215 #define IDH_GENERIC_HELP_BUTTON 28442
216 #define IDH_OK                  28443
217 #define IDH_CANCEL              28444
218 #define IDH_HELP                28445
219
220 /* Listbox styles */
221 #define LBS_NOTIFY               0x0001
222 #define LBS_SORT                 0x0002
223 #define LBS_NOREDRAW             0x0004
224 #define LBS_MULTIPLESEL          0x0008
225 #define LBS_OWNERDRAWFIXED       0x0010
226 #define LBS_OWNERDRAWVARIABLE    0x0020
227 #define LBS_HASSTRINGS           0x0040
228 #define LBS_USETABSTOPS          0x0080
229 #define LBS_NOINTEGRALHEIGHT     0x0100
230 #define LBS_MULTICOLUMN          0x0200
231 #define LBS_WANTKEYBOARDINPUT    0x0400
232 #define LBS_EXTENDEDSEL          0x0800
233 #define LBS_DISABLENOSCROLL      0x1000
234 #define LBS_NODATA               0x2000
235 #define LBS_NOSEL                0x4000
236 #define LBS_COMBOBOX             0x8000
237 #define LBS_STANDARD  (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER)
238
239 /* Menu flags */
240 #define MF_INSERT          0x0000
241 #define MF_CHANGE          0x0080
242 #define MF_APPEND          0x0100
243 #define MF_DELETE          0x0200
244 #define MF_REMOVE          0x1000
245 #define MF_END             0x0080
246
247 #define MF_ENABLED         0x0000
248 #define MF_GRAYED          0x0001
249 #define MF_DISABLED        0x0002
250 #define MF_STRING          0x0000
251 #define MF_BITMAP          0x0004
252 #define MF_UNCHECKED       0x0000
253 #define MF_CHECKED         0x0008
254 #define MF_POPUP           0x0010
255 #define MF_MENUBARBREAK    0x0020
256 #define MF_MENUBREAK       0x0040
257 #define MF_UNHILITE        0x0000
258 #define MF_HILITE          0x0080
259 #define MF_OWNERDRAW       0x0100
260 #define MF_USECHECKBITMAPS 0x0200
261 #define MF_BYCOMMAND       0x0000
262 #define MF_BYPOSITION      0x0400
263 #define MF_SEPARATOR       0x0800
264 #define MF_DEFAULT         0x1000
265 #define MF_SYSMENU         0x2000
266 #define MF_HELP            0x4000
267 #define MF_RIGHTJUSTIFY    0x4000
268 #define MF_MOUSESELECT     0x8000
269
270 /* Flags for extended menu item types.  */
271 #define MFT_STRING         MF_STRING
272 #define MFT_BITMAP         MF_BITMAP
273 #define MFT_MENUBARBREAK   MF_MENUBARBREAK
274 #define MFT_MENUBREAK      MF_MENUBREAK
275 #define MFT_OWNERDRAW      MF_OWNERDRAW
276 #define MFT_RADIOCHECK     0x00000200L
277 #define MFT_SEPARATOR      MF_SEPARATOR
278 #define MFT_RIGHTORDER     0x00002000L
279 #define MFT_RIGHTJUSTIFY   MF_RIGHTJUSTIFY
280
281 /* Flags for extended menu item states.  */
282 #define MFS_GRAYED          0x00000003L
283 #define MFS_DISABLED        MFS_GRAYED
284 #define MFS_CHECKED         MF_CHECKED
285 #define MFS_HILITE          MF_HILITE
286 #define MFS_ENABLED         MF_ENABLED
287 #define MFS_UNCHECKED       MF_UNCHECKED
288 #define MFS_UNHILITE        MF_UNHILITE
289 #define MFS_DEFAULT         MF_DEFAULT
290 #define MFS_MASK            0x0000108BL
291 #define MFS_HOTTRACKDRAWN   0x10000000L
292 #define MFS_CACHEDBMP       0x20000000L
293 #define MFS_BOTTOMGAPDROP   0x40000000L
294 #define MFS_TOPGAPDROP      0x80000000L
295 #define MFS_GAPDROP         0xC0000000L
296 /* Scrollbar styles */
297 #define SBS_HORZ                    0x0000L
298 #define SBS_VERT                    0x0001L
299 #define SBS_TOPALIGN                0x0002L
300 #define SBS_LEFTALIGN               0x0002L
301 #define SBS_BOTTOMALIGN             0x0004L
302 #define SBS_RIGHTALIGN              0x0004L
303 #define SBS_SIZEBOXTOPLEFTALIGN     0x0002L
304 #define SBS_SIZEBOXBOTTOMRIGHTALIGN 0x0004L
305 #define SBS_SIZEBOX                 0x0008L
306 #define SBS_SIZEGRIP                0x0010L
307
308 /* WM_SYSCOMMAND parameters */
309 #ifdef SC_SIZE /* at least HP-UX: already defined in /usr/include/sys/signal.h */
310 #undef SC_SIZE
311 #endif
312 #define SC_SIZE         0xf000
313 #define SC_MOVE         0xf010
314 #define SC_MINIMIZE     0xf020
315 #define SC_MAXIMIZE     0xf030
316 #define SC_NEXTWINDOW   0xf040
317 #define SC_PREVWINDOW   0xf050
318 #define SC_CLOSE        0xf060
319 #define SC_VSCROLL      0xf070
320 #define SC_HSCROLL      0xf080
321 #define SC_MOUSEMENU    0xf090
322 #define SC_KEYMENU      0xf100
323 #define SC_ARRANGE      0xf110
324 #define SC_RESTORE      0xf120
325 #define SC_TASKLIST     0xf130
326 #define SC_SCREENSAVE   0xf140
327 #define SC_HOTKEY       0xf150
328   /* Win32 4.0 */
329 #define SC_DEFAULT      0xf160
330 #define SC_MONITORPOWER 0xf170
331 #define SC_CONTEXTHELP  0xf180
332 #define SC_SEPARATOR    0xf00f
333
334 /* obsolete names(SC_ICON and SC_ZOOM) */
335 #define SC_ICON   SC_MINIMIZE
336 #define SC_ZOOM   SC_MAXIMIZE
337
338 /* Static Control Styles */
339 #define SS_LEFT             0x00000000L
340 #define SS_CENTER           0x00000001L
341 #define SS_RIGHT            0x00000002L
342 #define SS_ICON             0x00000003L
343 #define SS_BLACKRECT        0x00000004L
344 #define SS_GRAYRECT         0x00000005L
345 #define SS_WHITERECT        0x00000006L
346 #define SS_BLACKFRAME       0x00000007L
347 #define SS_GRAYFRAME        0x00000008L
348 #define SS_WHITEFRAME       0x00000009L
349 #define SS_USERITEM         0x0000000AL
350 #define SS_SIMPLE           0x0000000BL
351 #define SS_LEFTNOWORDWRAP   0x0000000CL
352 #define SS_OWNERDRAW        0x0000000DL
353 #define SS_BITMAP           0x0000000EL
354 #define SS_ENHMETAFILE      0x0000000FL
355 #define SS_ETCHEDHORZ       0x00000010L
356 #define SS_ETCHEDVERT       0x00000011L
357 #define SS_ETCHEDFRAME      0x00000012L
358 #define SS_TYPEMASK         0x0000001FL
359
360 #define SS_REALSIZECONTROL  0x00000040L
361 #define SS_NOPREFIX         0x00000080L
362 #define SS_NOTIFY           0x00000100L
363 #define SS_CENTERIMAGE      0x00000200L
364 #define SS_RIGHTJUST        0x00000400L
365 #define SS_REALSIZEIMAGE    0x00000800L
366 #define SS_SUNKEN           0x00001000L
367 #define SS_EDITCONTROL      0x00002000L
368 #define SS_ENDELLIPSIS      0x00004000L
369 #define SS_PATHELLIPSIS     0x00008000L
370 #define SS_WORDELLIPSIS     0x0000C000L
371 #define SS_ELLIPSISMASK     0x0000C000L
372
373 /* ShowWindow() codes */
374 #define SW_HIDE             0
375 #define SW_SHOWNORMAL       1
376 #define SW_NORMAL           1
377 #define SW_SHOWMINIMIZED    2
378 #define SW_SHOWMAXIMIZED    3
379 #define SW_MAXIMIZE         3
380 #define SW_SHOWNOACTIVATE   4
381 #define SW_SHOW             5
382 #define SW_MINIMIZE         6
383 #define SW_SHOWMINNOACTIVE  7
384 #define SW_SHOWNA           8
385 #define SW_RESTORE          9
386 #define SW_SHOWDEFAULT      10
387 #define SW_FORCEMINIMIZE    11
388 #define SW_MAX              11
389
390 /* Predefined resources */
391 #define IDI_APPLICATION    MAKEINTRESOURCE(32512)
392 #define IDI_HAND           MAKEINTRESOURCE(32513)
393 #define IDI_QUESTION       MAKEINTRESOURCE(32514)
394 #define IDI_EXCLAMATION    MAKEINTRESOURCE(32515)
395 #define IDI_ASTERISK       MAKEINTRESOURCE(32516)
396 #define IDI_WINLOGO        MAKEINTRESOURCE(32517)
397
398 #define IDI_WARNING        IDI_EXCLAMATION
399 #define IDI_ERROR          IDI_HAND
400 #define IDI_INFORMATION    IDI_ASTERISK