Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.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
如何在Java中以编程方式确定运行x11窗口的进程_Java_Linux_X11_Jna - Fatal编程技术网

如何在Java中以编程方式确定运行x11窗口的进程

如何在Java中以编程方式确定运行x11窗口的进程,java,linux,x11,jna,Java,Linux,X11,Jna,我知道这可能是不可能的,但如果是,任何帮助将不胜感激 我试图用java收集linux中打开的每个可见x11窗口的大小、位置、窗口ID、窗口标题和程序。虽然我可以使用runProcess和xprop、xwininfo等来完成所有这一切,但我更愿意不使用外部程序来完成 使用JNA,我能够收集程序名以外的所有内容。有没有可能像使用xprop那样完全使用Java获得PID?理想情况下,我希望能够获得与xprop[id]\u NET\u WM\u PID相同的一般信息。使用 它的isHeadless()表

我知道这可能是不可能的,但如果是,任何帮助将不胜感激

我试图用java收集linux中打开的每个可见x11窗口的大小、位置、窗口ID、窗口标题和程序。虽然我可以使用runProcess和xprop、xwininfo等来完成所有这一切,但我更愿意不使用外部程序来完成

使用JNA,我能够收集程序名以外的所有内容。有没有可能像使用xprop那样完全使用Java获得PID?理想情况下,我希望能够获得与xprop[id]\u NET\u WM\u PID相同的一般信息。

使用

它的
isHeadless()
表示没有GUI

这里也是连接屏幕设备的起点


PID现在可用,可以是java 9,也可以是java 8。

您需要它做什么?我想填充所有打开窗口的列表,并允许用户选择一个窗口并在其上创建一个透明覆盖。我正在寻找在这里获得图形设备的方法,但除了能够在给定的图形设备上获得任何全屏窗口之外,我看不出有什么办法可以获得windows或PID。我遗漏了什么吗?GraphicsEnvironment有一些我想提及的优点。PID是一个期待已久的java进程的补充,现在就可以实现。我没有调查那件事。可能会被挤进去发表评论。java.awt也可以获取顶级窗口(
Window.getWindows()
)。在这种情况下,awt的getWindows函数对我没有帮助。我正在尝试获取所有不是由java应用程序创建的窗口的信息。