出于某种原因,覆盆子pi 2型号b上的Windows 10 IoT Core中的屏幕键盘并不总是出现在前面。 (实际上99%不起作用)。
是否可以在代码隐藏中手动拨打电话(例如当发生OnFocus事件时)以显示osk?
答案 0 :(得分:0)
osk实际上是一个单独的程序,您可以使用External Process Launcher API调用它 https://developer.microsoft.com/en-us/windows/iot/samples/externalprocesslauncher
根据我的理解,它仅适用于Windows SDK:版本15063及更高版本。
我没有安装SDK,因此这段代码可能有误,但看起来有点像这样:
var result = await ProcessLauncher.RunToCompletionAsync("C:\\Windows\\System32\\osk.exe", string.Empty);
编辑:
我认为这可能会阻止UI线程,这是不可取的。也许如果你在后台运行任务...也许通过CoreDispatcher。
https://docs.microsoft.com/en-us/uwp/api/Windows.UI.Core.CoreDispatcher#Windows_UI_Core_CoreDispatcher_RunAsync_Windows_UI_Core_CoreDispatcherPriority_Windows_UI_Core_DispatchedHandler_
var ignored = dispatcher.RunAsync(CoreDispatcherPriority.Normal, async () =>
{
await ProcessLauncher.RunToCompletionAsync("C:\\Windows\\System32\\osk.exe", string.Empty);
});