我正在寻找一种方法来检测Windows 10是否处于平板模式。请注意,这并不是查询用户是否拥有平板电脑的问题-可以通过
GetSystemMetrics(SM_CONVERTIBLESLATEMODE)
解决。在我的情况下,上述函数总是返回0-无论Win10是否处于平板模式。似乎此线程没有结论, 表明没有WinAPI调用能够检测平板模式。我希望这不是事实,因为操作系统如果处于平板模式或非平板模式,则会发布不同的WM消息。在平板模式下,不会发送WM_SHOWWINDOW消息,这意味着如果Windows 10处于平板模式,则需要以不同方式处理应用程序的启动。我可以将当前在接收到 WM_SHOWWINDOW
消息后触发的代码移动到其他位置(刚刚在调用 ShowWindow
之后),但然后我会得到具有空参数的 WM_DPICHANGED
消息。