java取窗口句柄_如何获取Java中的所有窗口句柄列表(使用JNA)?
最新版本的JNA已经有了一些应该解决的问题(作为JNA的作者之一,Luke Quinane,声明here)。如果您使用最新版本并检查JNA API,您将看到WinUser.WNDENUMPROC接口的方法实际上使用WinDef.HWND作为其参数,而不是long或int。
例如:
import com.sun.jna.Native;
import com.sun.jna.Pointer;
import com.sun.jna.platform.win32.WinDef.HWND;
import com.sun.jna.platform.win32.WinUser;
import com.sun.jna.platform.win32.WinUser.WNDENUMPROC;
import com.sun.jna.win32.StdCallLibrary;
public class TryWithHWND {
public interface User32 extends StdCallLibrary {
User32 INSTANCE = (User32) Native.loadLibrary("user32", User32.class);
boolean EnumWindows(WinUser.WNDENUMPROC lpEnumFunc, Pointer arg);
int GetWindowTextA(HWND hWnd, byte[] lpString, int nMaxCount);
}
public static void main(String[] args) {
final User32 user32 = User32.INSTANCE;
user32.EnumWindows(new WNDENUMPROC() {
int count = 0;
@Override
public boolean callback(HWND hWnd, Pointer arg1) {
byte[] windowText = new byte[512];
user32.GetWindowTextA(hWnd, windowText, 512);
String wText = Native.toString(windowText);
// get rid of this if block if you want all windows regardless of whether
// or not they have text
if (wText.isEmpty()) {
return true;
}
System.out.println("Found window with text " + hWnd + ", total " + ++count
+ " Text: " + wText);
return true;
}
}, null);
}
}
java取窗口句柄_如何获取Java中的所有窗口句柄列表(使用JNA)?相关推荐
- linux qt 音频文件怎么打开,Qt:获取Linux中可用音频设备的列表
我想要获取我的Linux系统上可用的所有音频设备的列表.然后我会将这个列表显示在一个组合框中,用户将从中选择用于录制/播放的设备.根据用户的选择,我将构建QAudioInput和QAudioOutpu ...
- 怎么查onedrive的服务器位置,获取组织中OneDrive URL 的列表
获取组织中OneDrive URL 的列表 2021/6/26 本文内容 本文适用于 Microsoft 365 中的全局SharePoint管理员. 查看组织中OneDrive用户和 URL 的列表 ...
- 编写一个java程序_鼠标在java窗口上的坐标_请问如何在Java中获取窗口外部的鼠标单击坐标...
尽管可能,但可能会受到限制: 为焦点事件添加一个AWTEventListener.只要您的应用在单击按钮之前就具有焦点,就会收到焦点丢失事件.然后查询指针位置. 限制是,当然,您的应用程序失去了焦点. ...
- java Clob转CLOB_Java获取Oracle中CLOB字段转换成String
Java获取Oracle中CLOB字段转换成String : try {PreparedStatement stmt = session.connection().prepareStatement(s ...
- java 对象地址_如何获取Java对象的地址?
有没有办法获取Java对象的地址? 问题来自哪里?:首先,我读取属性文件,并将文件中的所有数据放入表中.属性文件可以更新.所以,我想听那个文件.我使用PropertyChangeSupport和Pro ...
- groovy 使用java类_深入学习java中的Groovy 和 Scala 类
前言 Java 传承的是平台,而不是语言.有超过 200 种语言可以在 JVM 上运行,它们之中不可避免地会有一种语言最终将取代 Java 语言,成为编写 JVM 程序的最佳方式.本系列将探讨三种下一 ...
- java提取姓名_UDF-java获取名字中的姓
package com.st.udf; import java.util.ArrayList; import org.apache.hadoop.hive.ql.exec.UDF;/** * * @a ...
- JAVA如何通过正则表达式获取文本中数字
如何通过正则表达式获取字符串中的数字 实例: Java代码 public void Test0108_03() { String input="winnt 5.1 internet wi ...
- java的get请求获取网络中的图片
写项目的时候写的,感觉以后还会用,所以记录一下 一种通过 java 的get请求获取 网上图片的数据 二种,通过获取本地的具体文件下的图片的数据 前台写的 date.t.avatat 是 存在数据库中 ...
- cmd中加载java源文件_如何在cmd中编译和运行java源文件
如何在cmd中编译和运行java源文件 首先写一个名为HelloWorld.java的java源文件,存储在如C:/java/src的地址,我们再假设待会要存储的位置是C:/java/bin,则我们做 ...
最新文章
- 《新一代SDN——VMware NSX 网络原理与实践》——导读
- 数据库设计中的范式、关联与nosql分析【转】
- 搭建WSS 开发测试环境
- 注册Github账户过程
- 对C语言 结构数组 指向结构变量的指针 指向结构数组的指针
- CTO案头必备|AI技术产业落地的42章经
- 教你一招如何使用几行代码实现zookeeper作为springcloud的服务注册中心
- pandas最大的时间间隔_pandas计算最大连续间隔的方法
- 1200兆路由器网速_如何选购路由器才能发挥宽带的网速?
- python10的因数_十五道Python小案例,学会这些,Python基础已过关!
- python极简教程_Python 极简教程(六)运算符
- bada 2D游戏编程之一——图形绘制
- ant如何形成时间轴和图库_如何让景观设计更具有逻辑性?
- VMWare File Format Learning Use VHD File To Boot VMWare CoreOS Docker Configuration And Runnin...
- STM32重上电后,HAL_GetDEVID返回0
- oracle 2的次方,Oracle第二次课 - osc_qyg23ccq的个人空间 - OSCHINA - 中文开源技术交流社区...
- 如何在arcmap中使用取色器
- python-三天打渔、两天晒网 - 实验7 简单的循环程序
- super和this
- 实用常识 | 将PDF文件页面拆分成两个页面(老白嫖怪了)
热门文章
- 《人工智能 一种现代方法》第三版 第1章 概述 笔记摘录
- unity天空盒渐变_在Unity3D中使用天空盒
- Halcon基础大全(基础算子、高阶算子、数组、分割、字符检测、模板匹配、特别案例)
- 利用ziparchive压缩文件、zip_file解压文件
- Turbo码编码举例计算
- AD19生成PCB_在Altium中导入Cadence Allegro的PCB文件
- vue 回到顶部简单动画效果
- Pr 视频效果:过渡、透视、通道
- 《别做“正常”的傻瓜(全新第2版)》
- c4dr20怎么安装oc渲染器怎么安装_c4d怎么安装oc渲染器/插件