获取 window任务栏已经打开应用程序窗口(也就是任务管理器中前台进程)的图标
1.功能描述
获取到window任务栏已经打开的应用程序的窗口图标。如下:(要获取到QQ,浏览器,文件夹的图标,但是任务栏中隐藏的图标不显示)
2.使用技术及工具
JAVA,JNA,eclipse。
需要去下载JNA的包(一个是jna.jar,一个时jna-platform.jar);包的下载在文章结尾提供地址。
3.实现思路
(1).一个window任务栏打开的应用程序也就是一个前台进程,所以先通过JNA获取所有任务栏进程(.exe文件名称,文件路径,PID)(从.EXE文件中可以获得图片),这时获得进程还包括一些非窗口(非前台应用)进程,需要使用第二步骤过滤掉。
(2).从JNA中枚举出所有的窗口句柄,并且通过窗口句柄获得PID。
(3).遍历第一步骤获得的进程获得元素的PID,当元素的PID在第二步骤获得的集合中时,则从此元素的.exe文件中获得图片。
4.实现代码
(1)获取窗口的句柄进程PID
1 public c