Как определить, находится ли Windows 10 в режиме планшета - PullRequest
4 голосов
/ 18 марта 2019

Я пытаюсь найти способ определить, работает ли Windows 10 в режиме планшета или нет. Обратите внимание, что речь идет не о том, чтобы узнать, есть ли у пользователя планшетный ПК или нет - это можно решить с помощью GetSystemMetrics(SM_CONVERTIBLESLATEMODE). В моем случае вышеуказанная функция всегда возвращает 0 - независимо от того, работает Win10 в режиме планшета или нет.

Этот поток без эпилога, похоже, предполагает отсутствие вызова WinAPI, который мог бы обнаружить режим планшета. Надеюсь, что это не так, поскольку ОС отправляет различные сообщения WM, если она находится в режиме планшета или нет. В режиме планшета WM_SHOWWINDOW не отправляется , что означает, что мне нужно по-разному реагировать на запуск приложения, если Windows 10 находится в режиме планшета.

Я мог бы просто переместить код, который в данный момент запускается после получения сообщения WM_SHOWWINDOW, в другое место (сразу после вызова ShowWindow), но затем я получаю сообщение WM_DPICHANGED с нулевыми параметрами.

1 Ответ

2 голосов
/ 19 марта 2019

Вы можете использовать UIViewSettings.UserInteractionMode @Raymond указал.

См. " Режим планшета " " Как определить, находится ли мой компьютер в режиме планшета?"

...