gpt4 book ai didi

c++ - Qt/C++获取所有应用程序窗口的Xid

转载 作者:行者123 更新时间:2023-11-28 05:45:37 25 4
gpt4 key购买 nike

我在 Qt/C++ 中使用 gstreamer,我想使用“ximagsrc xid=[MyXid]”,用我计算机上每个窗口的 Xid 替换 [MyXid]。我发现了以下命令行:

wmctrl -l
0x02a00002 0 Fry XdndCollectionWindowImp
0x02a00005 0 Fry unity-launcher
0x02a00008 0 Fry unity-panel
0x02a0000b 0 Fry unity-dash
0x02a0000c 0 Fry Hud
0x02c0000a 0 Fry Desktop
...

获取ID。 (例如,我可以使用“ximagsrc xid=0x02a00002”)

但我正在使用 Qt/C++ 和

我想自动获取这些值。我可以通过 C++ 启动此命令行,但如果计算机上未安装“wmctrl”,我的程序将无法运行。 (这对我来说似乎也是一种糟糕的方式,不是吗?)

有没有办法用 C++ 或 Qt 做到这一点?

谢谢,

祝你有美好的一天!

最佳答案

除了使用 wmctrl,您还可以使用 xwininfo,它可能更容易获得。

如果你想在你的程序中实现这个功能,你可以使用 xlib 或 xcb 来实现一个从 X 服务器检索这个信息的客户端。查看 wmctrlxwininfo 的源代码,看看他们是如何做到的。

关于c++ - Qt/C++获取所有应用程序窗口的Xid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36287741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com