Windows-specific code for the GPII realtime framework
C C++ PowerShell JavaScript Objective-C Shell Batchfile
Latest commit 5cdd418 Feb 23, 2017 @amb26 amb26 Merge branch 'GPII-2125'
* GPII-2125:
  GPII-2125: Added a couple of logging statements
  GPII-2125: Use the closest screen resolution on get rather than on set
  GPII-2125: Use the closest available resolution when setting it
  GPII-2277 : Executing nodevars.bat correctly in PS1 environment.

GPII for Windows

Contains platform-specific components of the GPII architecture for Windows. See for overall details of the GPII project. After checkout out using git, this project will require node.js and npm to be installed - please consult for installation instructions.

Note that tests and function involving the High Contrast setting will fail on all current versions of Windows (including Windows 7 SP1 and Windows 8 SP2) unless the following hotfix from Microsoft is applied:

See for more details of this issue.


This package depends on node 6.x (LTS).

To build the GPII for Windows, perform the following:

git clone
cd windows
npm install

Test VM

It is possible to provision a Windows VM for testing purposes. Please ensure you have met these VM requirements before proceeding. After that you can use the vagrant up command to create an instance of a Windows 10 Evaluation VM which will boot an instance of the Windows 10 VM, pull in the GPII Framework's npm dependencies, and then build it.

If this is your first time creating this VM an 8 GB download will take place. The downloaded image will be valid for 90 days after which the Windows installation will no longer be useable. To remove an expired image you can use the vagrant box remove "inclusivedesign/windows10-eval" command.

Now you can open a command prompt window and use the following commands to test the framework:

cd c:\vagrant
node tests\UnitTests.js
node tests\AcceptanceTests.js builtIn

Note: The refreshenv command only needs to be used if you are about to issue commands after having just created the VM. If the VM has been restarted since its creation then the command is not required.