Skip to content

ctrl+alt+n doesn't launch NVDA on second desktop #14395

@yolpsoftware

Description

@yolpsoftware

Steps to reproduce:

  • Start NVDA.
  • Execute a software application that uses Windows' CreateDesktop API (defined in user32.dll). See below for examples.

Actual behavior:

ctrl+alt+n does not launch NVDA on the second desktop.

Expected behavior:

ctrl+alt+n should launch NVDA on the second desktop.

NVDA logs, crash dumps and other attachments:

System configuration

NVDA installed/portable/running from source:

installed

NVDA version:

2022.3.2.27117

Windows version:

Windows 10 Home, 10.0.19044 Build 19044

Name and version of other software in use when reproducing the issue:

Applications that use the CreateDesktop Windows API, see below.

Other information about your system:

Other questions

Does the issue still occur after restarting your computer?

yes

Have you tried any other versions of NVDA? If so, please report their behaviors.

no

If NVDA add-ons are disabled, is your problem still occurring?

no add-ons installed

Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?

yes

Tools that use the CreateDesktop API:

Safe Exam Browser

The problem has first been identified while running the Safe Exam Browser application (https://safeexambrowser.org/):

  • Download and install the latest Safe Exam Browser version
  • Run the "SEB Configuration Tool". In the "Security Tab", enable "Create new desktop" under "Kiosk Mode". Save the Settings ("File" --> "Save Settings").
  • Close any running Messengers or Video Call applications (or add exceptions under "Applications")
  • Start NVDA
  • Start Safe Exam Browser
  • NVDA will not read the contents
  • To quit, click the button in the bottom right corner

Safe Exam Browser will create a new Desktop, where its main window will appear. However, the contents of the window are not read by NVDA.

Separate CreateDesktop Tool

To make sure the problem was not limited to SEB, we tested it with a separate tool.

WARNING: you should run this tool in a virtual machine, or save your work before running it, because it might require you to hard-reboot your PC.

  • Download the C++ file here https://github.com/MalwareTech/CreateDesktop/blob/master/Main.cpp
  • Compile it to an EXE file. If you use Visual Studio, you might need to change line 41 to hidden_desktop = CreateHiddenDesktop((char*)"MalwareTech_Hidden");
  • Start NVDA
  • Run this tool (WARNING: run this in a VM, or save your work before running the tool - the tool does not offer an option to go back to the previous desktop)

The tool will invoke CreateDesktop to create a new desktop. However, the contents of the new desktop are not read by NVDA.

Metadata

Metadata

Assignees

No one assigned

    Labels

    blocked/needs-external-fixp3https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#prioritytriagedHas been triaged, issue is waiting for implementation.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions