This sample demonstrates how to use the Magnification API to create a full-screen magnifier that magnifies the entire screen, and a windowed magnifier that magnifies and displays a portion of the screen in a window.
The full-screen magnifier sample (FullscreenMagnifierSample) includes an option for setting an input transform that maps the coordinate space of the magnified screen content to the actual (unmagnified) screen coordinate space. This enables the system to pass pen and touch input that is entered in magnified screen content, to the correct UI element on the screen. For the input transform option to work, you must:
- Set
UIAccess="true"
in the application's manifest before building FullScreenMagnifierSample. - After building, digitally sign the FullScreenMagnifierSample.exe file.
- Copy the signed FullScreenMagnifierSample.exe file to a secure folder before running it.
For more information, see Security Considerations for Assistive Technologies.
Warning This sample requires Microsoft Visual Studio 2013 or a later version (any SKU) and will not compile in Microsoft Visual Studio Express 2013 for Windows.
Note The Windows-classic-samples repo contains a variety of code samples that exercise the various programming models, platforms, features, and components available in Windows and/or Windows Server. This repo provides a Visual Studio solution (SLN) file for each sample, along with the source files, assets, resources, and metadata needed to compile and run the sample. For more info about the programming models, platforms, languages, and APIs demonstrated in these samples, check out the documentation on the Windows Dev Center. This sample is provided as-is in order to indicate or demonstrate the functionality of the programming models and feature APIs for Windows and/or Windows Server. This sample was created for Windows 8.1 and/or Windows Server 2012 R2 using Visual Studio 2013, but in many cases it will run unaltered using later versions. This sample was created for Windows 8.1 and/or Windows Server 2012 R2 using Visual Studio 2013, but in many cases it will run unaltered using later versions. Please provide feedback on this sample!
To get a copy of Windows, go to Downloads and tools.
To get a copy of Visual Studio, go to Visual Studio Downloads.
Client
Windows 8.1
Server
Windows Server 2012 R2
To build this sample:
-
Start Visual Studio and select File > Open > Project/Solution.
-
Go to the directory named for the sample. Go to the C++ directory and double-click the Visual Studio Solution (.sln) file.
-
In Solution Explorer, right click FullScreenMagnifierSample and select Properties.
-
In the FullScreenMagnifierSample Property Pages dialog box, expand the Configuration Properties node, and then the Linker node.
-
Select Manifest File, and then set the manifest properties as follows.
Property Setting Enable User Account Control (UAC) Yes (/MANIFESTUAC:) UAC Execution Level highestAvailable (/level='highestAvaliable') -
Click OK.
-
Press F6 or use Build > Build Solution to build the sample. Both the full-screen magnifier (FullscreenMagnifierSample) and the windowed magnifier (MagnifierSample) will be built in the default \Debug or \Release directory.
To run the full-screen magnifier sample:
- Navigate to the <install_root>\Magnification API Sample\C++\Debug folder for this sample using the command prompt or Windows Explorer.
- Use a tool such as Sign Tool (SignTool.exe) to digitally sign FullscreenMagnifierSample.exe.
- Copy FullscreenMagnifierSample.exe to a secure folder.
- In the secure folder, type FullscreenMagnifierSample.exe at the command line, or double-click the icon for FullscreenMagnifierSample.exe to launch from Windows Explorer.
To run the windowed sample:
- Navigate to the <install_root>\Magnification API Sample\C++\Debug folder for this sample using the command prompt or Windows Explorer.
- Type MagnifierSample.exe at the command line, or double-click the icon for MagnifierSample.exe to launch from Windows Explorer.