C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: Windows10 タッチキーボードの表示に関して


(過去ログ 139 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■81907 / inTopicNo.1)  Windows10 タッチキーボードの表示に関して
  
□投稿者/ トーシロー (1回)-(2016/11/21(Mon) 22:26:05)

分類:[.NET 全般] 

OS:Windows10
開発言語:Visual Basic 2012 Visual C#

お世話になります。
開発経験のない初心者です。


現在開発中のソフトにおいて、
画面上のテキストボックスをクリックした時に、
Windows10のタッチキーボードを画面に表示したいです。

Webで情報を調べましたが、
有力な情報を得られませんでした。


どなたか分かる方がいらっしゃいましたら、
ご教授ください。

よろしくお願いします。


引用返信 編集キー/
■81908 / inTopicNo.2)  Re[1]: Windows10 タッチキーボードの表示に関して
□投稿者/ 魔界の仮面弁士 (976回)-(2016/11/21(Mon) 23:17:06)
2016/11/22(Tue) 08:51:00 編集(投稿者)

No81907 (トーシロー さん) に返信
> 画面上のテキストボックスをクリックした時に、
> Windows10のタッチキーボードを画面に表示したいです。

[スタート]-[設定]-[簡単操作]-[キーボード] のことなら
Process.Start("osk.exe");
で表示できます。


タッチスクリーン付き PC に用意されているタッチキーボードの事なら、
[スタート]-[設定]-[デバイス]-[入力] に自動起動のオプションがあります。


それでも足りないようであれば:

using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using System.Windows.Input; // 参照設定 PresentationCore

public partial class Form1 : Form
{
 readonly string tabtip = @"C:\Program Files\Common Files\Microsoft Shared\ink\TabTip.exe";

 [DllImport("msctf", PreserveSig = false)]
 private static extern void SetInputScope(IntPtr handle, InputScopeNameValue scope);

 public Form1()
 {
  InitializeComponent();
  SetInputScope(textBox1.Handle, InputScopeNameValue.Default);
  SetInputScope(textBox2.Handle, InputScopeNameValue.Url);
  SetInputScope(textBox3.Handle, InputScopeNameValue.Digits);
  TextBox[] boxes = { textBox1, textBox2, textBox3 };
  foreach (var box in boxes)
  {
    box.Enter += delegate { Process.Start(tabTip); };
  }
 }
}

引用返信 編集キー/
■81934 / inTopicNo.3)  Re[2]: Windows10 タッチキーボードの表示に関して
□投稿者/ トーシロー (2回)-(2016/11/24(Thu) 16:50:58)
No81908 (魔界の仮面弁士 さん) に返信

ご回答、ありがとうございます。

教えていただいたソースコードを実行してみましたが、
Windows7では問題なく表示されましたが、
Windows10ではキーボードが表示されませんでした。

> using System.Diagnostics;
> using System.Runtime.InteropServices;
> using System.Windows.Forms;
> using System.Windows.Input; // 参照設定 PresentationCore
>
> public partial class Form1 : Form
> {
>  readonly string tabtip = @"C:\Program Files\Common Files\Microsoft Shared\ink\TabTip.exe";
>
>  [DllImport("msctf", PreserveSig = false)]
>  private static extern void SetInputScope(IntPtr handle, InputScopeNameValue scope);
>
>  public Form1()
>  {
>   InitializeComponent();
>   SetInputScope(textBox1.Handle, InputScopeNameValue.Default);
>   SetInputScope(textBox2.Handle, InputScopeNameValue.Url);
>   SetInputScope(textBox3.Handle, InputScopeNameValue.Digits);
>   TextBox[] boxes = { textBox1, textBox2, textBox3 };
>   foreach (var box in boxes)
>   {
>     box.Enter += delegate { Process.Start(tabTip); };
>   }
>  }
> }

もう少し調べてみようと思います。


引用返信 編集キー/
■81943 / inTopicNo.4)  Re[3]: Windows10 タッチキーボードの表示に関して
□投稿者/ トーシロー (3回)-(2016/11/24(Thu) 18:45:04)
No81908 (魔界の仮面弁士 さん) に返信

調べてみましたところ、
Windows10のアップデートによる影響のようです。

レジストリの変更で動くことが確認できました。


ご回答、ありがとうございました。


引用返信 編集キー/
■81944 / inTopicNo.5)  Re[4]: Windows10 タッチキーボードの表示に関して
□投稿者/ トーシロー (4回)-(2016/11/24(Thu) 18:47:20)
解決済みにチェックを忘れておりました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -