如何利用Java获取进程的信息

如何利用Java获取进程的信息,第1张

直接获取不行哈,想都别想。我建议你看看 *** 作系统内核api很容易获取到。一般都c语言或c++语明告言写的.非得用java实现,告诉你个办法。看一下java如何访问c/c++写的程序,但是是否有权限不知道了。你可以参考java高级编程第二卷里面有说方法。

最好的方式,用 *** 作系统api写个服务,用java做本地网络请求调用,再把你采集出来的数据,提取出来做处理就完了。要访问进程信息,用系统api也会有安全性考虑,但是完全敏耐可控的。把目标进程当服务进程的子进程启动,设置适合的权限,服务进程就能读取到子进程激拿明的信息

1、在Windows的命令行 tasklist 可以获得进程列表

你先CMD, 再执行tasklist 可以看到类似任务咐纯管理器里的进升猛程信息

2、JAVA要调用CMD命令衡笑咐, 用 Process process = Runtime.getRuntime().exec(command)

例如:查找某进程

Process proc = Runtime.getRuntime().exec("tasklist /FI \"IMAGENAME eq " + processName + "\"")

bufferedReader = new BufferedReader(new InputStreamReader(proc.getInputStream()))

String line = null

while ((line = bufferedReader.readLine()) != null) {

if (line.contains("QQ.exe")) {

System.out.printlns("找到了")

}

}

使用JNI调用WIN32 API ,先得到窗芦宴瞎口句柄,再得到窗口的RECT 先WindowFromPoint(point)再GetWindowRect(hwnd, &rect)返回的rect,就是窗口的left/top/width/height 这个不麻陪空烦、也不复杂,祥锋很简单的JNI。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12329708.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存