java怎么获得其它程序句柄

java怎么获得其它程序句柄,第1张

windows下获取当前进团厅谨程的话可以用dos命令tasklist

1

2

3

4

5

6

7

Runtime r=Runtime.getRuntime()

Process p=r.exec("cmd /塌基C tasklist")

BufferedReader reader=new BufferedReader(new InputStreamReader(p.getInputStream(),"gbk"))//windows的默认系统中伏卜文编码是gbk所以从cmd控制台的信息已gbk来解码

String line=null

while((line=reader.readLine())!=null)

System.out.println(line)

API函数的声明就不说了。

先用findwindow找到窗体,用GetWindow和GetClassName获得其窗体内各对象的句柄,从而可以获得文本宽羡框的慎举拍句柄。

最后用SendMessage函数想文本框发送文本。

tWnd = FindWindow(vbNullString, "窗口名")可以获得外部程序窗口的句柄twnd bwnd = GetWindow(tWnd, GW_CHILD)可以获得该窗口子对答枣象的集合句柄bwnd !

JFrame jf = new JFrame("窗口句柄")

这个 jf 对象就是 你所说的窗口句柄,因为java把指针屏蔽了,所以没有什么值地址的东西,如果你 要像C里面哪里传地址的话

java就这样

JFrame jf1 = new JFrame("窗口句柄")

JFrame jf2 = jf1

这个jf2 就是 jf1的引用,你改变jf2就改变了jf1

同样的 函数里面返回时,只要你不再new一个,

比如

JFrame jf1 = new JFrame("窗口句柄")

public JFrame getJFrameHander(){

return jf1

}

你在另外的代码里调用这个函数

比耐橡如

{

JFrame jf2 = getJFrameHander()

}

这个jf2就拥有了 jf1的引用,应该就是你所说昌虚旁的句柄

不知道我说的是不誉租是你想知道的那样


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8246310.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-14
下一篇2023-04-14

发表评论

登录后才能评论

评论列表(0条)

    保存