1diff --git a/src/common/tuklib_physmem.c b/src/common/tuklib_physmem.c
2index 4053ad0..c49db6d 100644
3--- a/src/common/tuklib_physmem.c
4+++ b/src/common/tuklib_physmem.c
5@@ -79,6 +79,13 @@ tuklib_physmem(void)
6 	uint64_t ret = 0;
7
8 #if defined(_WIN32) || defined(__CYGWIN__)
9+#if defined (WINAPI_FAMILY_PARTITION) && !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
10+	MEMORYSTATUSEX ms;
11+	ms.dwLength = sizeof(ms);
12+	if(!GlobalMemoryStatusEx(&ms))
13+		return 0;
14+	return ms.ullTotalPhys;
15+#else
16 	if ((GetVersion() & 0xFF) >= 5) {
17 		// Windows 2000 and later have GlobalMemoryStatusEx() which
18 		// supports reporting values greater than 4 GiB. To keep the
19@@ -107,6 +114,7 @@ tuklib_physmem(void)
20 		GlobalMemoryStatus(&meminfo);
21 		ret = meminfo.dwTotalPhys;
22 	}
23+#endif
24
25 #elif defined(__OS2__)
26 	unsigned long mem;
27