我需要在Windows8(桌面winform .NET)下的一个程序中关闭tabtip键盘。我发现在需要的时候打开它,运行TabTip.exe来显示Windows8 Touch键盘,但我不能在需要的时候关闭它!我试图用process.kill杀死进程,但它不起作用,有人知道怎么做吗?
关于Jean-claude
发布于 2013-12-30 21:53:10
试试下面的方法--用TabTip替换Osk
公共类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结束类
发布于 2015-09-28 01:04:47
Tabtip.exe打开,然后产生两个进程,然后再次关闭。因此,process.kill命令不起作用,因为发起进程已经关闭。
这将查看所有打开的进程,并关闭任何与the提示相关的内容。
For Each pkiller As Process In Process.GetProcesses
If String.Compare(pkiller.ProcessName, "tabtip", True) = 0 Then
pkiller.Kill()
End If
Next发布于 2016-12-02 06:44:05
我发现了一个没有文档记录的COM接口,用于控制屏幕键盘。有关详细信息https://stackoverflow.com/a/40921638/332528,请查看我的另一个答案
https://stackoverflow.com/questions/14746263
复制相似问题