使用Java with JNA在windows OS中打开新窗口时接收事件

使用Java with JNA在windows OS中打开新窗口时接收事件,java,windows,winapi,events,jna,Java,Windows,Winapi,Events,Jna,我试图在Windows操作系统中使用Java with JNA打开新窗口时获得某种通知或事件。这与JNA的FileMonitor.FileEvent不同,后者将通知我文件系统中的更改,即在将新文件添加到目录等时 我的目标与实际窗口何时打开有关。是否有一种方法可以获取打开新窗口(即新窗口句柄)的事件,而不是使用EnumWindows定期轮询以查看何时返回新句柄 我意识到使用FileMonitor.FileEvent可能有一种解决方法,这可能是一种判断文件何时在窗口中打开的方法,但我还没有发现它。我

我试图在Windows操作系统中使用Java with JNA打开新窗口时获得某种通知或事件。这与JNA的FileMonitor.FileEvent不同,后者将通知我文件系统中的更改,即在将新文件添加到目录等时

我的目标与实际窗口何时打开有关。是否有一种方法可以获取打开新窗口(即新窗口句柄)的事件,而不是使用EnumWindows定期轮询以查看何时返回新句柄


我意识到使用FileMonitor.FileEvent可能有一种解决方法,这可能是一种判断文件何时在窗口中打开的方法,但我还没有发现它。

我不知道JNA部分,但您可能需要使用Win32 API,可能需要使用CBT hook,或者对于事件对象,创建/显示事件并筛选顶级HWND。后者的优点是它可以使用而不需要单独的DLL使用Win EvesturOutFraceFrac标志,前者需要一个单独的C++ DLL。谢谢你的提示,我会研究这些。凯文,你有没有让它工作?您是否希望发布代码以帮助下一代的开发人员?