这是我的代码,我得到“失败请求的x错误:badwindow(无效窗口参数)”

xdo_t *xdo = xdo_new(":0");
XWindowAttributes attr;
XClassHint classhint;
Window window;
XGetWindowAttributes(xdo->xdpy, window, &attr);
if (XGetClassHint(xdo->xdpy, window, &classhint)) {
    classhint.res_name;
}

最佳答案

我找到了解决方案,错误消息显示“(无效窗口参数)”,这意味着我应该首先获取窗口,在我的例子中62914561是google chrome窗口id(我使用xdotool search google-chrome获取),下面的代码应该可以工作

#include <X11/Xutil.h>
#include <xdo.h>

int main(int argc, char **argv) {
    Display *display = XOpenDisplay(NULL);
    XWindowAttributes attr;
    XClassHint classhint;
    Window window = 62914561;
    XGetWindowAttributes(display, window, &attr);

    if (XGetClassHint(display, window, &classhint)) {
        classhint.res_name;
    }
}

07-27 18:27