Tag: 屏幕键盘

我如何以编程方式操作Windows 7屏幕键盘osk:移动,resize,删除标题栏/标题

我正在开发一个WPF应用程序,我希望以“永远在那里”的方式显示内置的Windows 7屏幕键盘。 所以我想: 将其移动到特定位置 将其设置为一定的宽度和高度 删除标题/标题栏,以便用户无法移动或关闭它 删除该权限以调整其大小(或任何其他用户调整)。 我已经尝试了所有典型的API函数(MoveWindow,SetWindowPos,SetWindowLong等…),但它拒绝做任何事情。 代码目前适用于所有其他进程和应用程序(例如Internet Explorer和命令提示符); 这几乎就好像api调用不适用于osk,或者它被“锁定”。 我错过了什么? 提前致谢。

在UWP中以编程方式打开屏幕键盘

在UWP中是否可以强制它打开屏幕键盘(osk.exe)? 例如,在C#中可以使用System.Diagnostics.Process.Start(“osk.exe”); 在UWP中执行上述操作会导致编译错误,表明没有Process名称空间。 我知道在平板电脑模式下,如果我以编程方式关注TextBox,它将显示OnScreen键盘。 但是在桌面模式下它是否可能? 谢谢!

在Windows Phone 8中键盘打开时如何调整屏幕?

我在Windows Phone 8中工作。在我的应用程序的一个页面中有一个LongListSelector ,在它下面有一个TextBox 。 当TextBox聚焦时,键盘会打开。 当键盘打开时, LongListSelector向上移动键盘高度。 如果我通过键盘的偏移来保持LongListSelector的边距,那么LongListSelector的一些项目会在键盘下面。 我想要做的就是当键盘显示然后边缘将被更新,并且LongListSelector的前一个焦点项不应该在键盘下。 在这里,我不想使用ScrollTo()函数来滚动LongListSelector的特定项。 任何建议或帮助将不胜感激。

打开停靠在WPF中的Windows 10触控键盘

我们开始在Windows 8中创建WPF触摸应用程序,最近迁移到Windows 10.我们实现的一个function是在TextBox获得焦点时打开Windows键盘。 在Windows 8中,可以通过设置注册表设置EdgeTargetDockedState并启动TabTip进程将键盘停靠在底部: string path = @”C:\Program Files\Common Files\Microsoft Shared\ink\TabTip.exe”; var info = new ProcessStartInfo(path); info.WindowStyle = ProcessWindowStyle.Maximized; var p = new Process(); p.StartInfo = info; p.Start(); 然而,Windows 10键盘似乎没有与Windows 8中相同的停靠行为。键盘现在覆盖任何最大化的窗口,该窗口隐藏任何应用程序的底部。 仅调整未最大化的窗口以适应剩余空间。 我检查了以下链接,但没有找到解决方案: https://superuser.com/questions/951841/windows-10-touch-keyboard-doesnt-dock-or-maximize-at-the-bottom-of-the-screen http://answers.microsoft.com/en-us/windows/forum/windows_10-desktop/windows-10-touch-keyboard-doesnt-dock/3c253400-568f-4e89-a253-0d7a747b5b63 Windows 10键盘是否可以通过编程方式停靠以获得最大化的窗口?

制作屏幕键盘的更好解决方案

我正在尝试制作屏幕键盘(按钮A ,按钮B等)。 按下按钮时,它会向TextBox添加字符。 一切都运行正常,但如果我将创建30多个字符,我的代码将是巨大的。 任何可能的缩短方法? 目前代码为3个按钮。 // Method for each button private void tastaturasIevade(TextBox varda_ievade, string burts) { if (varda_ievade.TextLength == 0) { varda_ievade.Text = burts; } else { varda_ievade.Text = varda_ievade.Text + burts; } } // Writing buttons from on-screen keyboard private void btn_A_Click(object sender, EventArgs e) { tastaturasIevade(txt_VardaIevade, “a”); } private void btn_B_Click(object […]

为Xamarin / Monogame打开屏幕键盘

我正在使用Xamarin / Monogame开发游戏,我需要在他们点击我的输入控件时在移动设备上打开键盘。 我知道当我使用模拟器和键盘时,我可以使用Keyboard.GetState()捕获输入,但真正的用户将拥有物理设备,我需要打开屏幕键盘才能输入信息。 我没有在任何描述这个的文档中看到任何内容,但很难相信我是第一个碰到这个问题的人。 我在输入时查看了Xamarin / Monogame的文档,并且我已经阅读了这篇StackOverflow文章 。 如果您需要更多信息来帮助我解决此问题,请与我们联系。 在此先感谢您的帮助。

如何正确关闭C#winform的屏幕键盘进程?

我目前正在设计一个图像查看器,允许用户输入她的电子邮件并以数字方式获取图像。 困扰我的部分是让屏幕键盘关闭。 我用这段代码启动windows进程: string progFiles = @”C:\Program Files\Common Files\Microsoft Shared\ink”; string keyboardPath = Path.Combine(progFiles, “TabTip.exe”); Process keyboardProc = Process.Start(keyboardPath); 之后我打开一个VB InputBox来提示输入电子邮件地址(我使用屏幕键盘,因为应用程序将显示在触摸屏上)。 在此提示后,我想自动关闭该过程。 我试图用以下方法关闭该过程: keyboardProc.Kill(); keyboardProc.Dispose(); keyboardProc.Close(); keyboardProc = null; 它们都不起作用,只是抛出exception: An unhandled exception of type ‘System.InvalidOperationException’ occurred in System.dll Additional information: Cannot process request because the process has exited. 我也尝试通过ID识别进程并以这种方式关闭它,也没用。 我也看了一下: C#/ .NET:关闭主窗口外的另一个进程但是没有让它工作…… 🙁 我对C#很陌生,这是我第一次从代码中调用Windows进程 […]

使用C#中的按钮调用屏幕键盘

我正在使用C#创建一个Windows应用程序,单击GUI上的按钮时,应显示屏幕键盘。 如果获得任何帮助,将不胜感激。 谢谢。 此外,由于我主要在我的应用程序的其余部分使用Emgu Cv库,我们可以简单地使用它来调用屏幕键盘吗?

检测屏幕键盘是否打开(TabTip.exe)

我正在开发一个WPF / C#应用程序来填写表单。 我试图找到一种方法来确定TapTip键盘(用于Windows 8桌面的TabTip.exe /类似地铁的键盘)是否在Windows 8中最小化/不可见。 我已经能够检测到osk键盘(osk.exe / windows可访问性屏幕键盘)是否被最小化,但是相同的过程似乎不适用于TabTip键盘。 要检测键盘是否最小化,我: 1.找到键盘的过程 2.获取MainWindowHandle 3.使用WINDOWPLACEMENT的showCmd属性(使用MainWindowHandle找到) 4.使用showCmd值确定窗口是否最小化 我遇到的问题是: – TabTip进程的MainWindowHandle为0(因此我无法使用它来查找WINDOWPLACEMENT信息) – 当TabTip打开并最小化时,WINDOWPLACEMENT.showCmd的值相同 为了找到TabTip窗口的句柄,我使用ENUMWINDOWS来获取所有窗口句柄,使用GETWINDOWTHREADPROCESSID来获取进程ID,然后将id与TabTip进程id进行比较。 任何帮助都将不胜感激。 这也是我的第一篇文章。 我想我做对了,但如果没有,请让我知道如何解决它。

无法在Win7 x64上从32位进程启动屏幕键盘(osk.exe)

90%的时间我无法从Win7 x64上的32位进程启动osk.exe 。 最初代码只是使用: Process.Launch(“osk.exe”); 由于目录虚拟化,这对x64无效。 不是我想的问题,我只是禁用虚拟化,启动应用程序,然后再次启用它,我认为这是正确的做事方式。 我还添加了一些代码,如果它已经被最小化(这可以正常工作)使键盘恢复 – 代码(在示例WPF应用程序中)现在看起来如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation;using System.Diagnostics; using System.Runtime.InteropServices; namespace KeyboardTest { /// /// Interaction logic for MainWindow.xaml /// public partial class MainWindow : Window { [DllImport(“kernel32.dll”, […]