winVersion module

A module used to record Windows versions. It is also used to define feature checks such as making sure NVDA can run on a minimum supported version of Windows.

When working on this file, consider moving to winAPI.

winVersion._getRunningVersionNameFromWinReg() str

Returns the Windows release name defined in Windows Registry. This is applicable on Windows 10 Version 1511 (build 10586) and later.

class winVersion.WinVersion(major: int = 0, minor: int = 0, build: int = 0, releaseName: str | None = None, servicePack: str = '', productType: str = '', processorArchitecture: str = '')

Bases: object

Represents a Windows release. Includes version major, minor, build, service pack information, machine architecture, as well as tools such as checking for specific Windows 10 releases.

_getWindowsReleaseName() str

Returns the public release name for a given Windows release based on major, minor, and build. This is useful if release names are not defined when constructing this class. For example, 6.3 will return ‘Windows 8.1’. For Windows 10 and later, feature update release name will be included. On server systems, unless noted otherwise, client release names will be returned. For example, ‘Windows 10 1809’ will be returned on Server 2019 systems.

winVersion.getWinVer()

Returns a record of current Windows version NVDA is running on.

winVersion.isSupportedOS()
winVersion.isUwpOcrAvailable()
winVersion.isFullScreenMagnificationAvailable() bool

Technically this is always False. The Magnification API has been marked by MS as unsupported for WOW64 applications such as NVDA. For our usages, support has been added since Windows 8, relying on our testing our specific usage of the API with each Windows version since Windows 8