是否可以检测到我的应用程序之外屏幕上任何地方的鼠标单击?
我已经用C#编写了一个应用程序来执行此操作,但是我想用Java编写一个该程序的版本,以便它可以在多个平台上运行。
看起来我可以随时获取鼠标的坐标,java.awt.MouseInfo.getPointerInfo()但是我不确定如何监听鼠标的单击。
java.awt.MouseInfo.getPointerInfo()
在C#中,我曾经GetAsyncKeyState检测过是否单击了鼠标按钮,但是如果我希望保持“干净”以便在多个平台上使用,显然就不能使用它。
GetAsyncKeyState
您只能通过特定平台的OS API实现来执行此操作,因为您无法在程序本身中检测到程序外部的点击。
虽然您不会无所顾忌地编写平台特定的代码,但只需将其抽象为接口并适当地使用不同的实现即可。