根据窗口ID获取进程PID

本文介绍了如何利用X11库中的函数获取窗口所属进程的PID。通过XOpenDisplay获取display指针,XInternAtom得到_NET_WM_PID的AtomID,再用XGetWindowProperty获取窗口PID属性。示例代码展示了具体实现过程,包括编译和执行步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

功能:获取窗口所在进程的PID
知识点:
1、得到默认的display指针:XOpenDisplay
2、通过字串取对应的AtomID:XInternAtom
3、获取窗的某一属性:XGetWindowProperty

       

知识补充:

display: 由键盘,鼠标和一个或多个屏幕组成的一个工作站
screen:一个display可以有多个screen

property是每个window拥有的一组属性。atom用来标识每个property,可通过XInternAtom()获得atom。XA_为前坠的宏代表内置的atom


源码:
#include <X11/Xlib.h>
#include <X11/Xatom.h>
#include <stdio.h>
#include <string.h>
 
#define MAX_PROPERTY_VALUE_LEN 4096    //取得属性值最大长度
 
int main(int argc, char **argv)
{
   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值