独自デスクトップ上で、タッチキーボードを表示することができません

こんにちは、Platform SDK (Windows SDK) サポートチームです。
今回は、Windows 8.1 のタッチキーボード (Tabtip.exe) で確認されている現象についてご案内します。

 

現象

独自デスクトップ上でタッチキーボードを表示しようとすると、タッチキーボードが既定のデスクトップ (Default デスクトップ) 上で表示される現象が確認されています。

 

詳細

プログラムから Win32 API の CreateDesktop() を呼び出すと、独自のデスクトップを新しく作成することができます。
この独自デスクトップ上でも、ユーザーは Default デスクトップと同じように、マウスやキーボード、タッチ操作を行うことが可能です。

ところが、Windows 8.1 において独自デスクトップ上でタッチキーボードを表示しようとすると、(独自デスクトップではなく) Default デスクトップ上にタッチキーボードが表示される現象が発生します。
このため、独自デスクトップ上で操作中のユーザーは、タッチキーボードを利用することができません。

 

原因

マイクロソフトでは、この問題について現在調査中です。
詳細については、わかりしだいこの資料に掲載する予定です。

 

回避策

独自デスクトップ上では、タッチキーボードの代わりに、スクリーンキーボード (Osk.exe) のご利用をご検討ください。

なお、ShellExecute() を呼び出すと、プログラムから現在のデスクトップ上にスクリーンキーボードを表示することが可能です。
このようなプログラムを独自デスクトップ上で実行することで、プログラムを経由してスクリーンキーボードを独自デスクトップ上に表示させることができます。