想必大家都用过Yak,
我想如果我不在场时,局域网上如果有同事给我发信息,
就看接收信息的RichEdit控件内容并判断是谁发信息,
然后就自动恢复:“出去有事,请稍候”。
接收消息的RichEdit控件的句柄我已经找到(是正确的,我用spy++看过),
我用GetWindowText(hRichEdit, buf,nMaxCount)结果返回0个字符,
非常郁闷,搞了几天,硬是不行,
另外我想发消息给它EM_SETSEL把所有文字选中,
我用spy++观察它解手到该消息但没处理(没选中)
请各位大侠帮忙,谢谢!

解决方案 »

  1.   

    GetWindowText获取的是窗口的标题, RichEdit控件是没有标题栏和标题的.
      

  2.   

    GetWindowText函数对RichEdit控件来说就是取里面的字符,
    因为RichEdit根本没标题
      

  3.   

    我想你先用DestroyWindow(hwnd)来试试是否可以使用你的RichEdit句柄值,另外再看一下buf的类型是否有误,对于发送EM_SETSEL消息,你在发送完后,focus一下RichEdit控件,因为它有可能是选中了,但是没有高亮显示出来.
      

  4.   

    八成是你的buf有問題.可能你還沒有分配內存!
    char buf[1024];
    GetWindowText(hRichEdit, buf,nMaxCount)
      

  5.   

    To  COOL099(Alan Zjou):
      不用动态分配内存,我是:
       char buf[2048];
    空间应该够大吧
      

  6.   

    我想发消息给它EM_SETSEL把所有文字选中,
    我用spy++观察它确实接收到该消息但没处理(没选中)
      

  7.   

    To flyidd(火舞者) :
    我发消息EM_SETSEL它解手到了(我用spy++观察),
    说明它的句饼是可用的。