在Java中检测打开的文件夹(JNativeHook)

时间:2019-04-14 22:24:23

标签: java java-native-interface jnativehook

我正在使用JNativeHook来检测程序中JFrame外部的拖动和单击,并且运行良好。问题是我需要一种方法(使用JNativeHook或其他方法)来检查是否在资源管理器(Finder for Mac)中打开了文件夹,以便可以将文件移动到此打开的文件夹中。 JNativeHook似乎无法检测单击了哪个程序或窗口。

我希望我正在寻找的代码输出能够返回系统资源管理器中打开的文件夹的路径,以便可以将文件移动到该路径。

1 个答案:

答案 0 :(得分:0)

您将无法检测到资源管理器是否已打开到特定文件夹。有一些API可以检测光标下方的窗口之类的东西并获取诸如标题之类的信息,但是,如果资源管理器未在标题中显示路径,那么在不遍历应用程序组件和查找地址栏的情况下很难检测到。窗户。有关凝视点,请参见WindowFromPointGetWindowTextA。在JNA下可以正常工作,并且可以与从JNativeHook返回的坐标结合使用。