vb 可以获得 QQ2010聊天窗口中各对象的句柄吗?
主要是想获得QQ在对方发文件来,出现的接收,另存为和拒绝这些对象的句柄,然后利用VB来自动实现对方发来文件的接收。
我试了FindWindowEx,EnumChildWindows,GetClassName 等API都得不到,只能得到QQ的聊天主窗体句柄,内部其它的对象一个都得不到,好像说都是ATL类,baidu了一下,好象是自定义的类,VB用一般方法得不到
这里有没有高手,有没有什么方法可以让VB控制QQ的文件接收呢谢谢了

解决方案 »

  1.   

    是自定义类没错,其实你管不管他是什么类,只要能得到对方的句柄就可以了,然后SendMessage
      

  2.   

    QQ现在的界面都是采用DirectUI技术了。子窗口木有句柄。
      

  3.   

    人家是上市公司,有的就是技术力量,马化腾也是高材生啊马化腾,腾讯公司执行董事、董事会主席兼本公司首席执行官(CEO),全面负责本集团的策略规划、定位和管理,是主要创办人之一。马化腾于1998年同好友张志东开始创办腾讯。2004年,腾讯上市,马化腾于2007年成为亿万富翁。出任现职前,在中国电信服务和产品供应商深圳润迅通讯发展有限公司主管互联网传呼系统的研究开发工作。一九九三年取得深圳大学理学士学位,主修计算机及应用,并在电信及互联网行业拥有逾十年经验。当选为深圳大学校友会副主席计算机系大学校友会主席。
      

  4.   

    正好我最近也在研究窗口,顺便研究了QQ2010的窗口,确实一般的方法只能得到它整个窗口的句柄
    内部控件的句柄得不到,看来它的窗口是封装好了,相当与整个就是个控件。你可以试试获得IE内部的控件,也是获得不了的。
    其实获得内部控件句柄还不是为了控制它。windows是消息驱动的,你向那个窗口发送个实际的消息就好了。比如算好它的发送按钮的位置,然后发送一个鼠标点击的消息,就能实现发送(这个是我推测的,过几天准备写个程序验证下)
    或者你干脆注入QQ进程,把它的窗口过程的地址截获过来
    总之攻略很多,不一定要死守一种法门
      

  5.   


    QQ2010估计只使用了一个窗口了,事实上,一个窗口看起来似乎有很多子窗口,但是,无论是什么样的窗口形态,子窗口都不是必须的!比如,一个窗口上有个按键,似乎,按键就是个子窗口,其实,也可以不是子窗口,你可以使用绘画的方法,在主窗口上,定义出按键的位置(一个矩形),然后在按键位置上画一个按键的形状(甚至就是直接贴图),当鼠标移动位置在按键矩形区时,换一张贴图,鼠标点击的时候,再换一张贴图,然后执行按键代码(或者产生一个自定义事件),输入框的处理,可以使用SetCaret产生输入光标,用一个变量记录按键值,即,自定义了一个文本编辑区。产生一个图片也很简单,使用BitBlt就可以将图片贴在相应的位置一句话,可以不使用子窗口将窗口用户区分成若干功能区,每个功能区有自己的界面特性(通过位置判断),那么,你也可以写出一个只有一个主窗口,没有子窗口,有很多功能区得用户界面!这种情况下,就很难获得文本框(看起来像,其实可能不是我们理解的那个文本框)里的内容了!