Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JNA和Java获取窗口访问的文件的文件路径_Java_Windows_Jna_Filepath - Fatal编程技术网

使用JNA和Java获取窗口访问的文件的文件路径

使用JNA和Java获取窗口访问的文件的文件路径,java,windows,jna,filepath,Java,Windows,Jna,Filepath,我正在使用JNA和Java来查找有关windows机器桌面上打开的windows的一些属性。我正试图找到一种方法来获取被任意窗口应用程序访问的文件。例如,假设我在adobe中获取有关打开的pdf文档窗口的信息。我希望能够获得窗口中显示的pdf文档的文件路径 我知道GetWindowModuleFileName()方法,但是这会获取应用程序可执行文件的文件路径,即“javaw.exe”。如果您在adobe中打开了“my.pdf”,我想获取此文档的文件路径,即“C:\…\my.pdf” 我已经做了一

我正在使用JNA和Java来查找有关windows机器桌面上打开的windows的一些属性。我正试图找到一种方法来获取被任意窗口应用程序访问的文件。例如,假设我在adobe中获取有关打开的pdf文档窗口的信息。我希望能够获得窗口中显示的pdf文档的文件路径

我知道GetWindowModuleFileName()方法,但是这会获取应用程序可执行文件的文件路径,即“javaw.exe”。如果您在adobe中打开了“my.pdf”,我想获取此文档的文件路径,即“C:\…\my.pdf”

我已经做了一些搜索(在这个网站和其他网站上),还没有找到任何关于这个特别的


感谢您抽出时间,-Kevin

如果您知道进程ID,您可以使用实用程序获取进程当前打开的所有文件的列表。但是,这取决于adobe reader是否继续打开文件或在完全阅读后关闭文件。

谢谢您的回答,我发现该实用程序非常有用。经过几天的实验和环顾四周,我有一个快速跟进的问题。使用PID,您可以获得被访问文件的完整列表,“handle-ppid”。是否可以将在adobe或word等程序(即“my.pdf,my.docx”)中打开的文件与该实用程序列出的所有其他文件隔离开来?我正试图编写一个使用这些信息的程序,因此我正在寻找一种隔离此文件路径的方法。@kevin:我认为您需要解析handle实用程序的输出并提取所需的信息。