检查文件夹是否已在os explorer(JAVA)中打开

检查文件夹是否已在os explorer(JAVA)中打开,java,directory,explorer,Java,Directory,Explorer,在我的桌面应用程序中,方便用户下载一个或多个文件。应用程序将帮助用户选择保存下载的文件夹的位置,并将下载的文件保存在所选文件夹中。当用户在上次下载的同一文件夹中下载文件,但尚未关闭资源管理器窗口时,系统不应重新打开该文件夹 总结: 我在第一次下载时打开文件夹: 桌面打开(dirToOpen) 但是如果这个文件夹已经打开,如果用户选择了另一个下载,我不想显示任何内容。我不确定Java是否可以这样做(我可能错了)。但是,通过Windows编程,您可以在资源管理器中找到打开的文件夹列表,并查看目录是否

在我的桌面应用程序中,方便用户下载一个或多个文件。应用程序将帮助用户选择保存下载的文件夹的位置,并将下载的文件保存在所选文件夹中。当用户在上次下载的同一文件夹中下载文件,但尚未关闭资源管理器窗口时,系统不应重新打开该文件夹

总结:

我在第一次下载时打开文件夹:

桌面打开(dirToOpen)


但是如果这个文件夹已经打开,如果用户选择了另一个下载,我不想显示任何内容。

我不确定Java是否可以这样做(我可能错了)。但是,通过Windows编程,您可以在资源管理器中找到打开的文件夹列表,并查看目录是否存在。您能看到Java是否也有类似的API吗?因此,在用户下载第一个文件,然后下载另一个文件并选择相同的输出目录之后,您不想打开第二个资源管理器窗口吗<代码>java.awt.Desktop.getDesktop().open()正是这样做的。
Desktop.open(…)
功能依赖于平台,因此理论上它可以将已打开文件夹的窗口放在前面,而不是重新打开。但正如你所问的,我想它并不是这样实现的。如果可能的话,通过本机API,您可以使用JNA做任何您喜欢的事情。现在它工作了!我不知道这是一个愚蠢的困惑,还是我认为构建项目使用的是我应用的(运行时)以前的解决方案。但重要的是,桌面工作正常。