pslaboが試したことの記録

はてなダイヤリーからはてなブログに引っ越してきました

この日記は現在実行中の減量記録を含む個人的なメモとして始めましたが、最近はコンピュータやガジェット、ハック、セキュリティネタのほうがメインになっております。

はてなダイヤリー時代はカテゴリ分けが適当だったのですが、これはそのうち直します。


Windows10のタブレットモードのときにアプリからタッチキーボードを強制的に表示させる

とりあえずのメモ書きです。

Surface Go で利用するアプリをDelphiでプロトタイプ的に作成していたら、タブレットモードのときに強制的にタッチキーボードを表示させたくなったのでしらべてみた。

ソフトウェアキーボードは2種類ある

昔ながらのオンスクリーンキーボードは osk.exe で起動します。

しかしWindows10 のタブレットモードではosk.exeではなくTabTip.exeが動作しているようです。

TEdit などの imeMode はosk.exeとtabtip.exeでは挙動が違うようだ

osk.exeの場合はimeModeによる制御は物理キーボードと同じように効くようだ。

しかしtabtip.exeの場合はimeDisableとそれ以外しか受け付けないように見える。

ソフトウェアキーボードを表示させたくなったらどうすればよいのか?

アプリケーションフォームへの onFocus でosk.exe と tabtip.exe のどちらも起動していないときに、使わせたいソフトウェアキーボードを起動すればよさそう。

WPFでの実装例がここにあるので、これを参考にしつつ実装すればよさげ。

iyemon018.hatenablog.com