Windows 8(デスクトップwinform .NET)のプログラムからタブチップキーボードを閉じる必要があります。 必要に応じて開いて、Windows 8 Touchキーボードを表示するためにTabTip.exeを実行しましたが、必要なときに閉じることができませんでした。 process.killでプロセスを強制終了しようとしましたが、うまくいきませんでした。開いて閉じるデスクトップの下にある8タッチキーボードタブチップ
よろしく ジャン=クロード・
Windows 8(デスクトップwinform .NET)のプログラムからタブチップキーボードを閉じる必要があります。 必要に応じて開いて、Windows 8 Touchキーボードを表示するためにTabTip.exeを実行しましたが、必要なときに閉じることができませんでした。 process.killでプロセスを強制終了しようとしましたが、うまくいきませんでした。開いて閉じるデスクトップの下にある8タッチキーボードタブチップ
よろしく ジャン=クロード・
TabTip
とOSKを交換しbelow-パブリック・クラスのForm1
Private oskProcess As Process
Private Sub openButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles openButton.Click
If Me.oskProcess Is Nothing OrElse Me.oskProcess.HasExited Then
If Me.oskProcess IsNot Nothing AndAlso Me.oskProcess.HasExited Then
Me.oskProcess.Close()
End If
Me.oskProcess = Process.Start("osk")
End If
End Sub
Private Sub closeButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles closeButton.Click
If Me.oskProcess IsNot Nothing Then
If Not Me.oskProcess.HasExited Then
'CloseMainWindow would generally be preferred but the OSK doesn't respond.
Me.oskProcess.Kill()
End If
Me.oskProcess.Close()
Me.oskProcess = Nothing
End If
End Sub
エンドクラス
Tabtip.exe開き、2つのプロセスを生成してみてくださいもう一度閉じる前に。したがって、元のプロセスがすでに閉じられているため、process.killコマンドは機能しません。
これは、開いているすべてのプロセスを調べ、関連するすべてのタブヒントを閉じます。
For Each pkiller As Process In Process.GetProcesses
If String.Compare(pkiller.ProcessName, "tabtip", True) = 0 Then
pkiller.Kill()
End If
Next
オンスクリーンキーボードを制御するための文書化されていないCOMインターフェイスが見つかりました。詳細については私の他の答えを確認してくださいhttps://stackoverflow.com/a/40921638/332528
あなたが見つかりましたか?私は同じ問題があります。 –
申し訳ありません。私はWindows 8のものに似たWinFormキーボードを開発しています。私はMicrosoftのキーボードサンプルを使用しました。 – jcq
私はそれを理解し、私自身の質問に答えています。http://stackoverflow.com/questions/15148740/how-to-close-textinputpanel –