如何使 Windows 桌面屏幕键盘在启动和唤醒时打开然后最小化?

如何使 Windows 桌面屏幕键盘在启动和唤醒时打开然后最小化?

与大多数在 Windows 8 或 8.1 上使用“混合”触摸屏设备的人一样(由于各种原因,Windows 10 现在对我来说不是一个选择),尽管我连接了实际的物理键盘,但“metro 风格”的屏幕键盘总是自动弹出,这让我很烦恼。

这个问题的最佳答案,而无需完全禁用该服务(因为我有时确实会在没有物理键盘的情况下使用该设备),方法是打开然后最小化老式桌面风格的屏幕键盘。该应用程序处于打开状态,即使在最小化时,也会阻止触摸屏 metro 风格键盘弹出。

然而,这也造成了(较小的)麻烦:

  • 这是我每次启动电脑时必须做的事情
  • 每次我让计算机进入睡眠状态时,它都会取消最小化,部分覆盖锁定屏幕、图片密码屏幕和开始屏幕。

有什么方法(例如 bat 脚本?)可以让我每次在计算机从关机或睡眠状态启动时打开屏幕键盘然后最小化?

答案1

听起来 BramMooij 找到了一个可能的答案。如果他的答案不成功,我还有一个备选建议,我已经测试过了。

首次下载nircmd如果你还没有的话。

在您所需的任意位置创建一个批处理文件并将以下代码放入其中...

osk.exe
PING -n 3 127.0.0.1>nul
"locationOfNircmd\nircmd.exe" win hide title "On-Screen Keyboard"

将批处理文件添加到任务计划程序作为操作,并将触发器设置为从睡眠状态唤醒或关机。

您可能需要根据计算机的性能更改 ping 行中的“3”,因为在我的测试中,osk 有时需要一段时间才能出现(这只是一个以秒为单位的延迟操作)。您还需要将 LocationOfNircmd 替换为您复制这些文件的位置。在我的测试中,需要以管理员身份运行此任务才能隐藏键盘。

答案2

我认为我对你的第二个问题有一个解决方案。

除了删除 osk 窗口外,您还可以更改 osk 窗口的位置,使其不妨碍您。打开 regedit,转到: HKEY_CURRENT_USER\Software\Microsoft\Osk。

您可以在此处设置 WindowWidth、WindowHeight 以及 WindowTop 和 WindowLeft。通过更改 WindowTop 和 WindowLeft 的值,您可以更改位置。如果将两者都设置为 1,osk 窗口将从屏幕的左上角开始。您可以使用它将窗口移动到不烦人的位置,然后您只剩下登录后最小化的问题。

我仍在努力解决您的第一个问题。我编写了一个 autohotkey 脚本,通过单击鼠标最小化 osk.exe 窗口(假设您知道位置),但 osk.exe 的行为与大多数其他程序不同。您无法从命令行将其最小化,并且我的 autohotkey 脚本可以单击除 osk 窗口之外的所有内容。似乎 osk 窗口覆盖了其余部分,导致 ahk 鼠标单击消失在窗口后面。我将尝试找出原因,如果我能找到它,我会报告完整的答案。

相关内容