2 * PROJECT: ReactOS api tests
3 * LICENSE: GPL - See COPYING in the top level directory
4 * PURPOSE: Test for GetSystemMetrics
5 * PROGRAMMERS: Timo Kreuzer
12 void Test_GetSystemMetrics()
23 ret
= GetSystemMetrics(0);
24 ok(ret
> 0, "ret = %d", ret
);
26 ret
= GetSystemMetrics(64);
27 ok(ret
== 0, "ret = %d", ret
);
28 ret
= GetSystemMetrics(65);
29 ok(ret
== 0, "ret = %d", ret
);
30 ret
= GetSystemMetrics(66);
31 ok(ret
== 0, "ret = %d", ret
);
34 ret
= GetSystemMetrics(SM_CXSCREEN
);
35 ok(ret
== GetDeviceCaps(hDC
, HORZRES
), "ret = %d", ret
);
36 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
38 ret
= GetSystemMetrics(SM_CYSCREEN
);
39 ok(ret
== GetDeviceCaps(hDC
, VERTRES
), "ret = %d", ret
);
40 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
42 ret
= GetSystemMetrics(SM_CXVSCROLL
);
44 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
46 ret
= GetSystemMetrics(SM_CYHSCROLL
);
48 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
50 ret
= GetSystemMetrics(SM_CYCAPTION
);
52 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
54 ret
= GetSystemMetrics(SM_CXBORDER
);
55 SystemParametersInfoW(SPI_GETFOCUSBORDERWIDTH
, 0, &UintVal
, 0);
56 ok(ret
== UintVal
, "ret = %d", ret
);
57 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
59 ret
= GetSystemMetrics(SM_CYBORDER
);
60 SystemParametersInfoW(SPI_GETFOCUSBORDERHEIGHT
, 0, &UintVal
, 0);
61 ok(ret
== UintVal
, "ret = %d", ret
);
62 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
64 ret
= GetSystemMetrics(SM_CXDLGFRAME
);
66 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
68 ret
= GetSystemMetrics(SM_CYDLGFRAME
);
70 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
72 ret
= GetSystemMetrics(SM_CYVTHUMB
);
74 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
76 ret
= GetSystemMetrics(SM_CXHTHUMB
);
78 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
80 ret
= GetSystemMetrics(SM_CXICON
);
82 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
84 ret
= GetSystemMetrics(SM_CYICON
);
86 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
88 ret
= GetSystemMetrics(SM_CXCURSOR
);
90 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
92 ret
= GetSystemMetrics(SM_CYCURSOR
);
94 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
96 ret
= GetSystemMetrics(SM_CYMENU
);
98 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
100 SystemParametersInfoW(SPI_GETWORKAREA
, 0, &rect
, 0);
101 ret
= GetSystemMetrics(SM_CXFULLSCREEN
);
102 ok(ret
== rect
.right
, "ret = %d", ret
);
103 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
105 ret
= GetSystemMetrics(SM_CYFULLSCREEN
);
106 ok(ret
== rect
.bottom
- rect
.top
- GetSystemMetrics(SM_CYCAPTION
), "ret = %d", ret
);
107 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
109 ret
= GetSystemMetrics(SM_CYKANJIWINDOW
);
111 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
113 ret
= GetSystemMetrics(SM_MOUSEPRESENT
);
114 ok(ret
== 1, "ret = %d", ret
);
115 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
117 ret
= GetSystemMetrics(SM_CYVSCROLL
);
119 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
121 ret
= GetSystemMetrics(SM_CXHSCROLL
);
123 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
125 ret
= GetSystemMetrics(SM_DEBUG
);
127 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
129 ret
= GetSystemMetrics(SM_SWAPBUTTON
);
131 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
133 ret
= GetSystemMetrics(SM_RESERVED1
);
135 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
137 ret
= GetSystemMetrics(SM_RESERVED2
);
139 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
141 ret
= GetSystemMetrics(SM_RESERVED3
);
143 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
145 ret
= GetSystemMetrics(SM_RESERVED4
);
147 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
149 ret
= GetSystemMetrics(SM_CXMIN
);
151 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
153 ret
= GetSystemMetrics(SM_CYMIN
);
155 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
157 ret
= GetSystemMetrics(SM_CXSIZE
);
159 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
161 ret
= GetSystemMetrics(SM_CYSIZE
);
163 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
165 ret
= GetSystemMetrics(SM_CXFRAME
);
167 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
169 ret
= GetSystemMetrics(SM_CYFRAME
);
171 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
173 ret
= GetSystemMetrics(SM_CXMINTRACK
);
175 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
177 ret
= GetSystemMetrics(SM_CYMINTRACK
);
179 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
181 ret
= GetSystemMetrics(SM_CXDOUBLECLK
);
183 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
185 ret
= GetSystemMetrics(SM_CYDOUBLECLK
);
187 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
189 ret
= GetSystemMetrics(SM_CXICONSPACING
);
191 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
193 ret
= GetSystemMetrics(SM_CYICONSPACING
);
195 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
197 ret
= GetSystemMetrics(SM_MENUDROPALIGNMENT
);
199 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
201 ret
= GetSystemMetrics(SM_PENWINDOWS
);
203 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
205 ret
= GetSystemMetrics(SM_DBCSENABLED
);
207 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
209 ret
= GetSystemMetrics(SM_CMOUSEBUTTONS
);
211 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
213 #if(WINVER >= 0x0400)
214 ret
= GetSystemMetrics(SM_SECURE
);
216 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
218 ret
= GetSystemMetrics(SM_CXEDGE
);
220 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
222 ret
= GetSystemMetrics(SM_CYEDGE
);
224 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
226 ret
= GetSystemMetrics(SM_CXMINSPACING
);
228 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
230 ret
= GetSystemMetrics(SM_CYMINSPACING
);
232 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
234 ret
= GetSystemMetrics(SM_CXSMICON
);
236 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
238 ret
= GetSystemMetrics(SM_CYSMICON
);
240 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
242 ret
= GetSystemMetrics(SM_CYSMCAPTION
);
244 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
246 ret
= GetSystemMetrics(SM_CXSMSIZE
);
248 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
250 ret
= GetSystemMetrics(SM_CYSMSIZE
);
252 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
254 ret
= GetSystemMetrics(SM_CXMENUSIZE
);
256 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
258 ret
= GetSystemMetrics(SM_CYMENUSIZE
);
260 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
262 ret
= GetSystemMetrics(SM_ARRANGE
);
264 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
266 ret
= GetSystemMetrics(SM_CXMINIMIZED
);
268 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
270 ret
= GetSystemMetrics(SM_CYMINIMIZED
);
272 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
274 ret
= GetSystemMetrics(SM_CXMAXTRACK
);
276 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
278 ret
= GetSystemMetrics(SM_CYMAXTRACK
);
280 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
282 ret
= GetSystemMetrics(SM_CXMAXIMIZED
);
284 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
286 ret
= GetSystemMetrics(SM_CYMAXIMIZED
);
288 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
290 ret
= GetSystemMetrics(SM_NETWORK
);
292 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
294 ret
= GetSystemMetrics(SM_CLEANBOOT
);
296 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
298 ret
= GetSystemMetrics(SM_CXDRAG
);
300 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
302 ret
= GetSystemMetrics(SM_CYDRAG
);
304 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
306 ret
= GetSystemMetrics(SM_SHOWSOUNDS
);
307 SystemParametersInfoW(SPI_GETSHOWSOUNDS
, 0, &BoolVal
, 0);
308 ok(ret
== BoolVal
, "ret = %d", ret
);
309 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
311 ret
= GetSystemMetrics(SM_CXMENUCHECK
);
313 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
315 ret
= GetSystemMetrics(SM_CYMENUCHECK
);
317 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
319 ret
= GetSystemMetrics(SM_SLOWMACHINE
);
321 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
323 ret
= GetSystemMetrics(SM_MIDEASTENABLED
);
325 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
328 #if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)
329 ret
= GetSystemMetrics(SM_MOUSEWHEELPRESENT
);
331 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
334 #if(WINVER >= 0x0500)
335 ret
= GetSystemMetrics(SM_XVIRTUALSCREEN
);
337 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
339 ret
= GetSystemMetrics(SM_YVIRTUALSCREEN
);
341 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
343 ret
= GetSystemMetrics(SM_CXVIRTUALSCREEN
);
345 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
347 ret
= GetSystemMetrics(SM_CYVIRTUALSCREEN
);
349 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
351 ret
= GetSystemMetrics(SM_CMONITORS
);
353 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
355 ret
= GetSystemMetrics(SM_SAMEDISPLAYFORMAT
);
357 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
360 #if(_WIN32_WINNT >= 0x0500)
361 ret
= GetSystemMetrics(SM_IMMENABLED
);
362 ok(ret
== 0 || ret
== 1, "ret = %d\n", ret
);
363 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
366 #if(_WIN32_WINNT >= 0x0501)
367 ret
= GetSystemMetrics(SM_CXFOCUSBORDER
);
368 SystemParametersInfoW(SPI_GETFOCUSBORDERWIDTH
, 0, &UintVal
, 0);
369 ok(ret
== UintVal
, "ret = %d", ret
);
370 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
372 ret
= GetSystemMetrics(SM_CYFOCUSBORDER
);
373 SystemParametersInfoW(SPI_GETFOCUSBORDERHEIGHT
, 0, &UintVal
, 0);
374 ok(ret
== UintVal
, "ret = %d", ret
);
375 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
377 ret
= GetSystemMetrics(SM_TABLETPC
);
379 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
381 ret
= GetSystemMetrics(SM_MEDIACENTER
);
383 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
385 ret
= GetSystemMetrics(SM_STARTER
);
387 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
389 ret
= GetSystemMetrics(SM_SERVERR2
);
391 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
394 #if(_WIN32_WINNT >= 0x0600)
395 ret
= GetSystemMetrics(SM_MOUSEHORIZONTALWHEELPRESENT
);
397 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
399 ret
= GetSystemMetrics(SM_CXPADDEDBORDER
);
401 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
406 START_TEST(GetSystemMetrics
)
408 Test_GetSystemMetrics();