我有一个全屏 DirectX 桌面应用程序,并且希望在用户点击我的游戏中的文本框时显示屏幕键盘。在全屏模式下有没有办法做到这一点?
问问题
20599 次
4 回答
17
执行 osk.exe 会弹出更老式的屏幕键盘。Windows 8 触摸键盘将通过执行弹出
C:\Program Files\Common Files\Microsoft Shared\ink\TabTip.exe
我只是想通了,因为我正在开发一个全屏桌面应用程序,该应用程序在没有连接键盘的平板电脑上运行。
塞维林。
于 2012-08-24T12:55:34.590 回答
3
与 Severin Stampler 的答案相同,但为了从 c# 中找到正确的路径,我使用:
var path = Environment.GetFolderPath(Environment.SpecialFolder.CommonProgramFiles) + @"\Microsoft Shared\ink\TabTip.exe";
if (!File.Exists(path))
{
// older windows versions
path = Environment.GetFolderPath(Environment.SpecialFolder.System) + @"\osk.exe";
}
于 2013-05-28T09:55:22.403 回答
1
如果它是桌面应用程序,您可能需要调用ShellExecute
for osk.exe
。
如果它是 Metro 应用程序,则您无法从应用程序本身调用 SIP。根据MSDN 文档:
这意味着应用程序无法通过焦点操作以编程方式调用触摸键盘。过去的罪魁祸首是网页——其中许多默认设置焦点
于 2012-08-09T03:29:48.950 回答
1
您可以很容易地展示 Windows 8 触摸键盘:
http://brianlagunas.com/showing-windows-8-touch-keyboard-wpf/
于 2013-12-18T03:14:46.330 回答