为什么XGetWindowProperty返回null
Why is XGetWindowProperty returning null?
我使用以下内容来获取所有X窗口的名称:
Atom nameAtom = XInternAtom(dpy,"_NET_WM_NAME",false);
Atom type;
int format;
unsigned long nitems, after;
unsigned char *data = 0;
if (Success == XGetWindowProperty(dpy, window, nameAtom, 0, 65536,
false, XA_ATOM, &type, &format,
&nitems, &after, &data)) {
if (data) {
Atom windowName = *(Atom*)data;
const char* name = XGetAtomName(dpy, windowName);
log.debug("Name: %s", name);
XFree(data);
}
}
但在我的日志中,我只得到了每个窗口的(null)
。我做错了什么?
所需的是相应地将req_type指定为UTF8_STRING
:
Atom nameAtom = XInternAtom(dpy,"_NET_WM_NAME",false);
Atom utf8Atom = XInternAtom(dpy,"UTF8_STRING",false);
Atom type;
int format;
unsigned long nitems, after;
unsigned char *data = 0;
if (Success == XGetWindowProperty(dpy, window, nameAtom, 0, 65536,
false, utf8Atom, &type, &format,
&nitems, &after, &data)) {
if (data) {
log.debug("Name: %s", data);
XFree(data);
}
}
相关文章:
- 如果我std::dynamic_pointer_cast并且底层dynamic_cast的结果为null,那么返回的sh
- 如何在映射中返回null
- 为什么返回 NULL 不会破坏函数?
- fopen 在 gdb 中返回 NULL
- 为什么要从main()返回NULL?
- 为什么TinyXML2的XMLDocument::FirstChild()函数在尝试解析这个有效的XML文件时返回NULL?
- Box2D World.GetBodyList() 返回 NULL,但 World 显然正在更新对象
- API 返回智能指针的 std::optional 以明确指定指针可能为 null 是否有意义?
- boost::p ython:PyErr_Fetch始终返回 NULL 回溯
- 如何在 Visual C++ 中从返回类型为 map 的函数返回 null?
- 如何在C++中返回Null作为引用
- 从模板化函数返回Null对象
- 如何返回值为NULL的变量指针
- Windows 函数"GetCursorInfo"返回成功,但光标的句柄为 NULL
- GDALOpen 在 GEOTiff 文件上返回 null
- 将对象作为 null 返回内容
- QList<float* 类型的 NULL 返回值>
- 在用C++编写的COM客户端中引发异常的Null返回值
- nullptr初始值和WinAPI NULL返回
- DirectX pEnum->Next(1,&pPin,NULL) 返回S_FALSE