java pid 获取句柄_java通过pid获取句柄?

Java使用JNA通过PID获取窗口句柄
博客介绍了在Java中获取窗口句柄的方法,可使用JNA并参考WIN32 API。给出了相关结构体和函数代码,如定义WNDINFO结构体,通过EnumWindowsProc函数和GetHwndByProcessId函数,依据进程ID获取窗口句柄。

满意答案

楼主,是想得到窗口的句柄吗,可以使用JNA

参考 WIN32 API

typedef struct

{

HWND hWnd;

DWORD dwPid;

}WNDINFO;

BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam)

{

WNDINFO* pInfo = (WNDINFO*)lParam;

DWORD dwProcessId = 0;

GetWindowThreadProcessId(hWnd, &dwProcessId);

if(dwProcessId == pInfo->dwPid)

{

pInfo->hWnd = hWnd;

return FALSE;

}

return TRUE;

}

HWND GetHwndByProcessId(DWORD dwProcessId)

{

WNDINFO info = {0};

info.hWnd = NULL;

info.dwPid = dwProcessId;

EnumWindows(EnumWindowsProc, (LPARAM)&info);

return info.hWnd;

}

00分享举报

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值