比如说:MessageBox的内容我想获取一个Java程序的消息框信息,是否需要GetDlgItem之类的API函数?
用Spy++好像取不到这个Java消息框的内容,只能够获取消息框的标题。
有什么别的API么?

解决方案 »

  1.   

    用Spy++好像取不到这个Java消息框的内容,只能够获取消息框的标题。//
    难不成那个内容是直接贴到dlg上的?不然spy++肯定能得到消息内容控件
      

  2.   

    Java的Swing在上面TextOut的方式可能也是依据Win32API的,比如DrawText和TextOut。
    但是问题在于取字的原理是消息的,你SendMessaage,WM_GETTEXT等那几个,Java未必相应你这个消息了。可能解决的办法是词霸的Hook API的方式。
    但是做起来比较困难了。
      

  3.   

    发送重绘,Hook API如楼上所说的
      

  4.   

    又跟踪了一下,发现类名称是:SunAwtDialog
    然后用词霸对文本信息执行取词操作,失败;对标题取词,是可以的。
      

  5.   

    不是据说java开源了吗,看看他的代码吧:)好像金山词霸不能取java application中的词。应该不是使用SetWindowText显示的字符串。
      

  6.   

    java程序运行在WINDOWS平台下它的界面也应该是采用的WINDOWS UI,所以HOOK应该是可以的