gpt4 book ai didi

c - 切换到特定窗口

转载 作者:行者123 更新时间:2023-11-30 15:14:11 25 4
gpt4 key购买 nike

我正在使用 XLIB 和 gtk 编写一个程序,我应该实现一个功能来切换特定窗口(使用任何人类可识别的引用、窗口名称、进程名称或每次该应用程序时都会静态的任何内容)已运行)

我完全迷失了方向,找不到任何东西来指导我完成申请

谢谢

最佳答案

您可以使用 X 库来做到这一点,但这会有点痛苦:您必须了解 X IPC 和属性。幸运的是,假设您可以使用其他库,有一个更简单的方法:使用 Libwnck 。这是列出窗口的最小示例(改编自“入门”页面):

WnckScreen *screen = wnck_screen_get_default ();
WnckWindow *active_window = wnck_screen_get_active_window (screen);
GList *l;

for (l = wnck_screen_get_windows (screen); l != NULL; l = window_l->next) {
WnckWindow *window = WNCK_WINDOW (window_l->data);
g_print ("%s%s\n", wnck_window_get_name (window),
window == active_window ? " (active)" : "");
}

切换到特定窗口应该是:

wnck_window_activate (window, 0);

唯一的问题是 wnck 被设计为与 GLib 主循环一起使用。如果您没有运行一个(就像简单的命令行应用程序的情况),您需要使用 wnck_screen_force_update () 从 X 获取当前数据(请参阅“入门”示例)。

关于c - 切换到特定窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34142369/

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