Function Os() Foundation
Returns the name of the operating system.
Os([<nOsId>]) --> cOsInfo
Constant | Return value |
---|---|
OS_DESCRIPTION *) | Complete name with version information |
OS_PLATFORM | The operating system platform. |
OS_FAMILY | The operating system family |
OS_PRODUCT | Short product name |
OS_FULLNAME | Complete product name |
OS_VERSION | Up to windows 8 version number formatted to ##.##.####. Windows 10 and later version number formatted to ####.##### |
OS_BUILD | Build number |
OS_PATCH | Information about installed patches/service packs |
|
Os() returns information about the operating system as a character string.
The environment function Os() determines the name, the type and version information of the operating system running on the computer. The extended classification into platform, family and product is necessary to be able to react to differences or common things more exact if platform-dependent code is to be executed, like DllCall().
The following table shows examples of return values of platform, family and product:
Platform | Family | Product | Full name | Build number | |
---|---|---|---|---|---|
Define | OS_PLATFORM | OS_FAMILY | OS_PRODUCT | OS_FULLNAME | OS_BUILD |
Samples | WIN32 | WINNT | WIN10 | Windows 11 | 22000 |
WIN32 | WINNT | WIN10 | Windows 10 | 19044 | |
WIN32 | WINNT | WIN8 | Windows 8 | 9200 | |
WIN32 | WINNT | WIN7 | Windows 7 | 7601 | |
WIN32 | WINNT | WIN2K | Windows 2000 | 2195 | |
WIN32 | WIN9X | WIN95 | Windows 95 | 950 |
// The sample demonstrates the usage of Os() and how to
// correctly execute platform-dependent code.
#include "os.ch"
PROCEDURE Main
LOCAL cAutoExec
IF Os(OS_FAMILY) == "WIN9X"
IF Os(OS_PRODUCT) != "WINME"
cAutoExec := MemoRead("c:\Autoexec.bat")
ENDIF
ENDIF
IF Os(OS_FAMILY) == "WINNT"
cAutoExec := MemoRead("c:\Autoexec.nt")
ENDIF
// The example demonstrates the return values of the function Os()
#include "os.ch"
PROCEDURE Main
? Os() // Windows 10 2009 Build 19044
? Os( OS_DESCRIPTION ) // Windows 10 2009 Build 19044
? Os( OS_PLATFORM ) // WIN32
? Os( OS_FAMILY ) // WINNT
? Os( OS_PRODUCT ) // WIN10
? Os( OS_FULLNAME ) // Windows 10
? Os( OS_VERSION ) // 2009.19044
? Os( OS_BUILD ) // 19044
WAIT
RETURN
If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.