用jni方式,先用c\c++做个调用windows句柄的程序,编译成dll,然后用java通过jni方式调用它,给他传值,让c\c++程序调用。
有这方面相关的demo的吗?或者说这方面的dll
根据坐标获取窗口句柄
[DllImport("user32")]
private static extern IntPtr WindowFromPoint(
Point Point //坐标
);
/
WindowListener:窗口监听事件 ex:关闭、最小化
@author Administrator
/
public class WindowListenerDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame frame = new JFrame("窗口程序");//创建一个带标题的窗口对象frame
framesetVisible(true);//显示窗口
framesetSize(600, 400);//设置窗口大小
framesetLocationRelativeTo(null);//设置窗口居中
//framesetDefaultCloseOperation(3);//点击X关闭程序 3为结束程序
framesetLayout(null);//清空布局
MyWindowListener myWindowListener = new MyWindowListener();//创建一个窗口监听事件对象
frameaddWindowListener(myWindowListener);//添加myMouseListener鼠标监听事件
framedispose();//关闭程序
}
}
class MyWindowListener implements WindowListener{
@Override
public void windowOpened(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
}
/
关闭窗口之后,自动调用此方法
/
@Override
public void windowClosed(WindowEvent e) {
// TODO Auto-generated method stub
Systemoutprintln("您关闭了窗口");
}
/
最小化窗口之后,自动调用此方法
/
@Override
public void windowIconified(WindowEvent e) {
// TODO Auto-generated method stub
Systemoutprintln("您把窗口最小化了");
}
@Override
public void windowDeiconified(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowActivated(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowDeactivated(WindowEvent e) {
// TODO Auto-generated method stub
}
}
以上就是关于Java能否获得Windows程序的窗口Handle并发送消息求解全部的内容,包括:Java能否获得Windows程序的窗口Handle并发送消息求解、怎么得到java句柄传给dll、java拿到窗体的句柄后如何监听一个 窗体上的控件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)