1

一台在 Windows 操作系统中运行的带有触摸屏的计算机。我需要编写一个 java 代码来检测用户何时触摸文本字段,然后在不是文本字段时显示 Windows 屏幕键盘并隐藏屏幕键盘。

我已经完成了使用以下方法显示屏幕键盘的工作:

Runtime.getRuntime().exec("cmd /c C:\\Windows\\System32\\osk.exe");

但是我如何检测文本字段(另一个不是用java编写的应用程序)?

4

1 回答 1

0

您不能这样做,但如果您使用 java.awt.Robot... 允许用户在其他应用程序中的文本字段周围绘制一个框以获取其坐标,然后在您的程序中记住它。或者,如果它们总是在同一个地方,你可以硬编码坐标。

一旦您知道坐标,您就可以监听鼠标输入,因此当触发 mousePressed 事件时,如果坐标在文本框中,则触发您的方法以显示屏幕键盘。

这可能不起作用,因为用户必须拥有特权并允许您的应用程序读取本机鼠标输入。

于 2012-04-22T10:26:44.233 回答