2 * PROJECT: ReactOS api tests
3 * LICENSE: GPL - See COPYING in the top level directory
4 * PURPOSE: Test for GetSystemMetrics
5 * PROGRAMMERS: Timo Kreuzer
13 void Test_GetSystemMetrics()
24 ret
= GetSystemMetrics(0);
25 ok(ret
> 0, "ret = %d\n", ret
);
27 ret
= GetSystemMetrics(64);
28 ok(ret
== 0, "ret = %d\n", ret
);
29 ret
= GetSystemMetrics(65);
30 ok(ret
== 0, "ret = %d\n", ret
);
31 ret
= GetSystemMetrics(66);
32 ok(ret
== 0, "ret = %d\n", ret
);
35 ret
= GetSystemMetrics(SM_CXSCREEN
);
36 ok(ret
== GetDeviceCaps(hDC
, HORZRES
), "ret = %d\n", ret
);
37 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
39 ret
= GetSystemMetrics(SM_CYSCREEN
);
40 ok(ret
== GetDeviceCaps(hDC
, VERTRES
), "ret = %d\n", ret
);
41 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
43 ret
= GetSystemMetrics(SM_CXVSCROLL
);
45 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
47 ret
= GetSystemMetrics(SM_CYHSCROLL
);
49 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
51 ret
= GetSystemMetrics(SM_CYCAPTION
);
53 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
55 ret
= GetSystemMetrics(SM_CXBORDER
);
56 SystemParametersInfoW(SPI_GETFOCUSBORDERWIDTH
, 0, &UintVal
, 0);
57 ok(ret
== UintVal
, "ret = %d\n", ret
);
58 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
60 ret
= GetSystemMetrics(SM_CYBORDER
);
61 SystemParametersInfoW(SPI_GETFOCUSBORDERHEIGHT
, 0, &UintVal
, 0);
62 ok(ret
== UintVal
, "ret = %d\n", ret
);
63 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
65 ret
= GetSystemMetrics(SM_CXDLGFRAME
);
67 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
69 ret
= GetSystemMetrics(SM_CYDLGFRAME
);
71 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
73 ret
= GetSystemMetrics(SM_CYVTHUMB
);
75 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
77 ret
= GetSystemMetrics(SM_CXHTHUMB
);
79 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
81 ret
= GetSystemMetrics(SM_CXICON
);
83 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
85 ret
= GetSystemMetrics(SM_CYICON
);
87 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
89 ret
= GetSystemMetrics(SM_CXCURSOR
);
91 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
93 ret
= GetSystemMetrics(SM_CYCURSOR
);
95 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
97 ret
= GetSystemMetrics(SM_CYMENU
);
99 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
101 SystemParametersInfoW(SPI_GETWORKAREA
, 0, &rect
, 0);
102 ret
= GetSystemMetrics(SM_CXFULLSCREEN
);
103 ok(ret
== rect
.right
, "ret = %d\n", ret
);
104 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
106 ret
= GetSystemMetrics(SM_CYFULLSCREEN
);
107 ok(ret
== rect
.bottom
- rect
.top
- GetSystemMetrics(SM_CYCAPTION
), "ret = %d\n", ret
);
108 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
110 ret
= GetSystemMetrics(SM_CYKANJIWINDOW
);
112 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
114 ret
= GetSystemMetrics(SM_MOUSEPRESENT
);
115 ok(ret
== 1, "ret = %d", ret
);
116 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
118 ret
= GetSystemMetrics(SM_CYVSCROLL
);
120 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
122 ret
= GetSystemMetrics(SM_CXHSCROLL
);
124 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
126 ret
= GetSystemMetrics(SM_DEBUG
);
128 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
130 ret
= GetSystemMetrics(SM_SWAPBUTTON
);
132 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
134 ret
= GetSystemMetrics(SM_RESERVED1
);
136 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
138 ret
= GetSystemMetrics(SM_RESERVED2
);
140 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
142 ret
= GetSystemMetrics(SM_RESERVED3
);
144 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
146 ret
= GetSystemMetrics(SM_RESERVED4
);
148 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
150 ret
= GetSystemMetrics(SM_CXMIN
);
152 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
154 ret
= GetSystemMetrics(SM_CYMIN
);
156 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
158 ret
= GetSystemMetrics(SM_CXSIZE
);
160 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
162 ret
= GetSystemMetrics(SM_CYSIZE
);
164 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
166 ret
= GetSystemMetrics(SM_CXFRAME
);
168 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
170 ret
= GetSystemMetrics(SM_CYFRAME
);
172 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
174 ret
= GetSystemMetrics(SM_CXMINTRACK
);
176 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
178 ret
= GetSystemMetrics(SM_CYMINTRACK
);
180 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
182 ret
= GetSystemMetrics(SM_CXDOUBLECLK
);
184 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
186 ret
= GetSystemMetrics(SM_CYDOUBLECLK
);
188 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
190 ret
= GetSystemMetrics(SM_CXICONSPACING
);
192 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
194 ret
= GetSystemMetrics(SM_CYICONSPACING
);
196 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
198 ret
= GetSystemMetrics(SM_MENUDROPALIGNMENT
);
200 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
202 ret
= GetSystemMetrics(SM_PENWINDOWS
);
204 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
206 ret
= GetSystemMetrics(SM_DBCSENABLED
);
208 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
210 ret
= GetSystemMetrics(SM_CMOUSEBUTTONS
);
212 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
214 #if(WINVER >= 0x0400)
215 ret
= GetSystemMetrics(SM_SECURE
);
217 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
219 ret
= GetSystemMetrics(SM_CXEDGE
);
221 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
223 ret
= GetSystemMetrics(SM_CYEDGE
);
225 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
227 ret
= GetSystemMetrics(SM_CXMINSPACING
);
229 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
231 ret
= GetSystemMetrics(SM_CYMINSPACING
);
233 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
235 ret
= GetSystemMetrics(SM_CXSMICON
);
237 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
239 ret
= GetSystemMetrics(SM_CYSMICON
);
241 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
243 ret
= GetSystemMetrics(SM_CYSMCAPTION
);
245 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
247 ret
= GetSystemMetrics(SM_CXSMSIZE
);
249 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
251 ret
= GetSystemMetrics(SM_CYSMSIZE
);
253 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
255 ret
= GetSystemMetrics(SM_CXMENUSIZE
);
257 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
259 ret
= GetSystemMetrics(SM_CYMENUSIZE
);
261 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
263 ret
= GetSystemMetrics(SM_ARRANGE
);
265 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
267 ret
= GetSystemMetrics(SM_CXMINIMIZED
);
269 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
271 ret
= GetSystemMetrics(SM_CYMINIMIZED
);
273 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
275 ret
= GetSystemMetrics(SM_CXMAXTRACK
);
277 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
279 ret
= GetSystemMetrics(SM_CYMAXTRACK
);
281 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
283 ret
= GetSystemMetrics(SM_CXMAXIMIZED
);
285 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
287 ret
= GetSystemMetrics(SM_CYMAXIMIZED
);
289 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
291 ret
= GetSystemMetrics(SM_NETWORK
);
293 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
295 ret
= GetSystemMetrics(SM_CLEANBOOT
);
297 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
299 ret
= GetSystemMetrics(SM_CXDRAG
);
301 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
303 ret
= GetSystemMetrics(SM_CYDRAG
);
305 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
307 ret
= GetSystemMetrics(SM_SHOWSOUNDS
);
308 SystemParametersInfoW(SPI_GETSHOWSOUNDS
, 0, &BoolVal
, 0);
309 ok(ret
== BoolVal
, "ret = %d\n", ret
);
310 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
312 ret
= GetSystemMetrics(SM_CXMENUCHECK
);
314 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
316 ret
= GetSystemMetrics(SM_CYMENUCHECK
);
318 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
320 ret
= GetSystemMetrics(SM_SLOWMACHINE
);
322 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
324 ret
= GetSystemMetrics(SM_MIDEASTENABLED
);
326 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
329 #if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)
330 ret
= GetSystemMetrics(SM_MOUSEWHEELPRESENT
);
332 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
335 #if(WINVER >= 0x0500)
336 ret
= GetSystemMetrics(SM_XVIRTUALSCREEN
);
338 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
340 ret
= GetSystemMetrics(SM_YVIRTUALSCREEN
);
342 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
344 ret
= GetSystemMetrics(SM_CXVIRTUALSCREEN
);
346 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
348 ret
= GetSystemMetrics(SM_CYVIRTUALSCREEN
);
350 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
352 ret
= GetSystemMetrics(SM_CMONITORS
);
354 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
356 ret
= GetSystemMetrics(SM_SAMEDISPLAYFORMAT
);
358 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
361 #if(_WIN32_WINNT >= 0x0500)
362 ret
= GetSystemMetrics(SM_IMMENABLED
);
363 ok(ret
== 0 || ret
== 1, "ret = %d\n", ret
);
364 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
367 #if(_WIN32_WINNT >= 0x0501)
368 ret
= GetSystemMetrics(SM_CXFOCUSBORDER
);
369 SystemParametersInfoW(SPI_GETFOCUSBORDERWIDTH
, 0, &UintVal
, 0);
370 ok(ret
== UintVal
, "ret = %d\n", ret
);
371 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
373 ret
= GetSystemMetrics(SM_CYFOCUSBORDER
);
374 SystemParametersInfoW(SPI_GETFOCUSBORDERHEIGHT
, 0, &UintVal
, 0);
375 ok(ret
== UintVal
, "ret = %d\n", ret
);
376 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
378 ret
= GetSystemMetrics(SM_TABLETPC
);
380 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
382 ret
= GetSystemMetrics(SM_MEDIACENTER
);
384 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
386 ret
= GetSystemMetrics(SM_STARTER
);
388 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
390 ret
= GetSystemMetrics(SM_SERVERR2
);
392 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
395 #if(_WIN32_WINNT >= 0x0600)
396 ret
= GetSystemMetrics(SM_MOUSEHORIZONTALWHEELPRESENT
);
398 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
400 ret
= GetSystemMetrics(SM_CXPADDEDBORDER
);
402 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
407 START_TEST(GetSystemMetrics
)
409 Test_GetSystemMetrics();