社区
Java SE
帖子详情
java如何截获系统消息
bigboy79
2006-03-20 01:34:14
java如何实现截获系统消息?如题,是否真的不可以,急用!
...全文
411
15
打赏
收藏
java如何截获系统消息
java如何实现截获系统消息?如题,是否真的不可以,急用!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
weixing979
2006-05-10
打赏
举报
回复
我觉得针对不同的应用应该采用不同的工具
Voxer
2006-05-10
打赏
举报
回复
Java是可以捕获事件的,前提是你的程序和被捕获的程序是在一个JVM内。
一般用于GUI的自动测试。
有二种方式:
1。自定义一个事件队列替代系统的事件队列
import java.awt.EventQueue;
import java.awt.*;
import java.util.*;
public class MyQueueEvent extends EventQueue {//自定义EventQueue的子类
public MyQueueEvent() {
}
public static void main(String[] args) {
SimpleExample.main(new String[]{null}) ;
MyQueueEvent myQueueEvent1 = new MyQueueEvent();
Toolkit.getDefaultToolkit().getSystemEventQueue().push(myQueueEvent1) ;//替代
}
//在这里重载事件分发的方法
public void dispatchEvent(AWTEvent ae){
if(ae.getSource() instanceof javax.swing.JButton)
System.out.println("My apture:"+((javax.swing.JButton)ae.getSource()).getText()) ;
super.dispatchEvent(ae);
}
2。自定义一个事件监听类,加到系统监听中
public class MyEvtListener implements AWTEventListener {
// 把自己定义的事件处理加到系统监听
//这里只监听鼠标和键盘
private MyEvtListener() {
Toolkit.getDefaultToolkit().addAWTEventListener(this,
AWTEvent.MOUSE_EVENT_MASK | AWTEvent.KEY_EVENT_MASK);
}
// 定义自己的事件处理
public void eventDispatched(final AWTEvent eve) {
myprocessEvent(eve);
}
}
UnAgain
2006-05-10
打赏
举报
回复
mark
jingweicool
2006-05-09
打赏
举报
回复
学习
liujiwe79
2006-05-09
打赏
举报
回复
用VC++或Delphi来写一个DLL文件,捕获消息,然后用JAVA中native方法来调用dll文件中的这个方法,VC或delphi获得系统消息的例子网上一大堆,至于java中怎样调用dll文件,应该不难的
terry_yip
2006-04-13
打赏
举报
回复
hook这个概念只存在于windows上面,只有hook才能捕获windows的系统消息,因为java不是专门针对某个操作系统而设计的,所以java2的类库中没这个功能,要实现的话,你用VC++或Delphi来写一个DLL文件,写一个方法捕获消息,然后用JAVA中新增一个native方法来调用dll文件中的这个方法,VC或delphi获得系统消息的例子网上一大堆,至于java中怎样调用dll文件,请看:
http://www.360doc.com/showWeb/0/0/30719.aspx
congliu
2006-04-11
打赏
举报
回复
System.getProperty(String key)
iwlk
2006-04-09
打赏
举报
回复
你改用vc吧
ljdam
2006-04-09
打赏
举报
回复
看得不是太明白,cheng_young(古道西风瘦马)能讲得更详细些吗?
cheng_young
2006-04-09
打赏
举报
回复
windows中有消息队列,相应的AWT中有事件队列EventQueue
如下的辅助事件循环只捕获鼠标点击消息
EventQueue eq = Toolkit.getDefaultToolkit().getSystemEventQueue();
while(true)
{
try
{
AWTEvent e = eq.getNextEvent();
if (e.getID()==MouseEvent.MOUSE_PRESSED)
{
MouseEvent mev = (MouseEvent)e;
Point pt = mev.getPoint();
...
break;
}
}catche(Exception e){}
}
yuzl32
2006-03-22
打赏
举报
回复
人家是运行在虚拟机上,跳出虚拟机去捕获系统消息应该只有用JNI和系统交互.
bigboy79
2006-03-22
打赏
举报
回复
就是不想使用JNI呢,难道Java真的不行吗?
yuzl32
2006-03-21
打赏
举报
回复
用JNI吧,把windows的钩子通过java 的native方法调出来.
bigboy79
2006-03-20
打赏
举报
回复
Windows系统消息,类似Windows程序中的钩子程序的。
treeroot
2006-03-20
打赏
举报
回复
什么系统信息呀
LF-Spy(
Java
服务器探针)
LF-Spy是一个基于单独jsp页面的
Java
服务器探针,使用它您可以方便的获得您所处
Java
服务器的
系统
信息,是您了解您所在空间真实情况的重要工具。 <br>LF-Spy能够自动测试目标
Java
服务器的网络连接速度、MAC地址、...
Spring MVC 员工管理
系统
Spring MVC框架围绕DispatcherServlet这个核心展开,DispatcherServlet的作用是
截获
请求并组织一系列组件共同完成请求的处理工作。
Java
Server Faces (JSF) 是一种用于构建 Web 应用程序的新标准
Java
框架。它...
捕获IP数据包的小程序
捕获IP数据包的小程序,XE2编译通过,非常好用。可以
截获
系统
所有进程数据包
GetMessage
截获
消息
1、GetMessage
截获
的
消息
只能为
截获
到postmessage的
消息
,而且
系统
不会自动分发的。尤其可以
截获
自定义
消息
。 第2个参数NULL,代表
截获
所有线程内的窗口
消息
。 后面参数为0,0,代表...
Java
窗口如何接收并处理windows
消息
当前的
java
窗口若需要接收到window的
消息
,首先需要获取到当前窗口的句柄,然后通过窗口句柄得到其window
消息
回调函数,最后
截获
消息
回调函数中有用的
消息
,并将无用的
消息
还给window
消息
处理函数进行处理。...
Java SE
62,615
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章