1

Context: our desktop application is used predominantly by users with significant access issues and therefore some of them use the Windows on screen keyboard. One bit of feedback we've had is that the software is awkward to use with the OSK as too many important bits of the UI get covered up. If we could detect the presence of the keyboard we could adapt the UI to some extent.

Therefore is it possible in code to detect that the Windows in-built OSK is open? And is it possible in code to detect the location of the keyboard?

The application is in WinForms and usually runs on full desktops/laptops - not smaller touchscreen machines.

Stuart Whitehouse
  • 1,421
  • 18
  • 30
  • Does this answer the question? https://stackoverflow.com/questions/42494453/detect-the-onscreen-keyboard-in-windows-10-from-winforms/42497072 – Brian Quinn Mar 02 '18 at 11:28
  • Possibly - most of our users are on versions prior to 10, so anything that covered earlier versions would be preferable. Although the fact there isn't a nice way in Win10 at least implies there isn't in earlier ones. Not sure why I couldn't find that one by searching! – Stuart Whitehouse Mar 02 '18 at 11:33
  • 2
    I'd try searching for a top-level window with the `OSKMainClass` class. (`DirectUIHWND` is used everywhere...) – Andreas Rejbrand Mar 02 '18 at 12:21

0 Answers0