想写一个msn的插件。但是只找到了Windows Messenger的add-in的资料,而且只能是Ver. 4.7的。
现在有很多的msn聊天机器人,有人知道他们是怎么做的吗?

解决方案 »

  1.   

    关键是得到MSN的和聊天框的句柄,这个不难,使用FindWindow,FindWindowEx,加上spy++.就很轻易的得到句柄了。然后发送消息就可以了。比如我要把一段话发到MSN的聊天信息框中,注 : hExit 是MSN聊天信息框的句柄;
         TCHAR temp[500];
    直接使用::SendMessage(hEdit,WM_SETTEXT,255,(LPARAM)temp);因为我机器上被装MSN,我给你一个刚刚写的取得文本文件里内容的DEMO,望里面写也一样。 //得到记事本的句柄
    HWND hwnd=::FindWindow("Notepad",NULL);
    if(hwnd)
    {
    //得到编辑框的句柄
    HWND hEdit=::GetDlgItem(hwnd,0x0f); //0x0f是文本框的资源ID,可以使用spy++查看
    // HWND hEdit=FindWindowEx(hwnd,NULL,"Edit",NULL);  //2种方法都可以
    if(hEdit)
    {
    TCHAR temp[500];

    ::SendMessage(hEdit,WM_GETTEXT,255,(LPARAM)temp); //得到编辑框的内容
    CString s;
    s.Format("%s",temp);
    ::AfxMessageBox(s);
    }
    else
    {
    ::AfxMessageBox("错误没有得到编辑框的句柄");
    }
    }
    else
    {
    ::AfxMessageBox("错误!!记事本没打开");
    }
      

  2.   

    此外你可以把事先准备好的聊天信息保存在文件中。再需要的时候发送到MSN中就行了。
    一个简单的聊天机器人就OK了。要是有什么地方不明白的话,可以回帖。
      

  3.   

    http://www.codeguru.com/Cpp/COM-Tech/activex/tutorials/article.php/c5563/
      

  4.   

    MSN应该有SDK。我记得好像在什么地方见过有相关的讨论www.codeguru.com?