在java程序中如何能获取到另一个程序的windows句柄,又如何使用这个句柄向这个窗口发送消息
2013-04-20 00:38
1616 查看
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); } }
原文:http://stackoverflow.com/questions/8717999/how-to-get-list-of-all-window-handles-in-java-using-jna
源代码:http://pan.baidu.com/share/link?shareid=411802&uk=3878681452
How to get list of all window handles in Java (Using JNA)
相关文章推荐
- windows 下在一个进程中使用createprocess创建一个窗口进程,并获取这个窗口的HWND句柄
- MFC 如何获取各类窗口的句柄并用PostMessage发送消息
- C#可调用API接口来获取窗口句柄,发送消息控制其余程序窗体大小
- 转:VC:如何根据文件名来获取程序进程和窗口句柄的代码(转载)
- Delphi 获取外部程序句柄与发送消息
- Java程序使用httpClient发送Url链接,并获取返回的数据信息
- Java如何发送文本消息到Window窗口
- windows下32位汇编语言学习笔记 第四章 第一个窗口程序 1 (消息的使用和入口代码)
- delphi程序向另一个可执行程序发消息(使用GetForegroundWindow; 找出当前操作系统中活动的第一个窗口)
- windows/vs如何获取程序内存使用量和时间花费
- JAVA 程序中如何拷贝一个目录下的文件及子目录到另一个目录,如何获取系统环境变量等...
- 如何使用java程序实现windows锁屏
- Windows程序获取鼠标下窗口句柄的例子
- 如何在windows命令行窗口运行Java程序
- 发现Windows程序 最主要的还是要理解消息和窗口的相互调用,相互影响是如何实现的,才能更准确的去理解Windows程序,去编好自己想要的程序功能
- 建立控制台程序--获得已经打开的一个窗口的句柄--给这个窗口发送一个关闭命令
- CB MDI框架,Frame关闭的时候,子窗口如何获取这个关闭消息
- 如何给另一个桌面的程序发送消息?
- 使用java代码关闭指定端口的程序-windows
- 如何使用java程序打开一个文件?