###200分求### 怎样能抓到Msn聊天框中的聊天内容?(为免成为死贴先放50,up有分)

bcboy 2003-08-06 09:34:07
就是Msn中聊天内容那个框中的所有文本,如何抓下来?
...全文
26 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
superhasty 2004-02-03
  • 打赏
  • 举报
回复
来学习。
winterwong 2003-09-07
  • 打赏
  • 举报
回复
我最近也在参与开发msn的bot,msn 6.0的api全部关闭了。可能用钩子是唯一的办法,但是国外的msn plus好像已经能够找到使用msn 6.0 api开发的办法。
bcboy 2003-08-11
  • 打赏
  • 举报
回复
级别不够,只能加到100分,虽然没有解决,不过还是谢谢大家.
喝醉的咖啡 2003-08-07
  • 打赏
  • 举报
回复
但依靠微软其它很多接口暂时没有实现/提供
然后咧,高级点儿的方法是用“注射”或者hook方式,这里有篇很不错的文章详细介绍相关技术
<Three Ways to Inject Your Code into Another Process>
http://www.codeproject.com/useritems/winspy.asp (以前做过一个df1 修改器就是用lib inject方式,嘻嘻)

简单的方法楼上朋友说了,就是 FindWindow 或 EnumWindows 找到 Messenger 的对话窗口,对其 RichText 发送选择消息。
这个方法楼上有朋友说 codeproject 有例子,源代码和地址在这里(且让我慷他人之慨):
<Retrieving Conversations from MSN Messenger>
http://www.codeproject.com/cpp/msnchattext.asp?target=messenger
不过实话说,当时看到这篇文章时觉得这个方法并不是很好——多人同时聊还不太好处理,该作者还写了另外一篇对付 yahoo messenger 的文章。
呵呵,作者说了这么一句话:
This gives us the opportunity to make some fantastic SPYING applications that can email MSN conversations of someone to you or whatever you can think of!

不知道楼主的目的为何?
喝醉的咖啡 2003-08-07
  • 打赏
  • 举报
回复
sorry 昨天下午 CSDN 几乎提交不了
今天早上给楼主回消息也提交失败,sigh

累死啦

<Windows Messenger Application Programming Interfaces Downloads>
这里是 MSDN Messenger 的主页
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/messenger/messenger_entry.asp
它下面的
<Windows Messenger Client Reference >
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/messenger/reference/messengeruasdk/cpp_client_entry.asp

你可以找到 DMsgrObjectEvents::OnTextReceived Event
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/messenger/reference/messengeruasdk/events/dmsgrobjectevents/OnTextReceived.asp
--------------------------------
Indicates that a message has been received.

Note The DMsgrObjectEvents::OnTextReceived event is available for use in Microsoft Windows Messenger 4.7. It might be altered or unavailable in subsequent versions of Windows Messenger.

Syntax

void OnTextReceived( IMsgrIMSession *pIMSession,
IMsgrUser *pSourceUser,
BSTR bstrMsgHeader,
BSTR bstrMsgText,
VARIANT_BOOL *pfEnableDefault
);
Parameters

pIMSession
[in] Pointer to an IMsgrIMSession interface.
pSourceUser
[in] Pointer to an IMsgrUser interface.
bstrMsgHeader
[in] BSTR that contains the header text.
bstrMsgText
[in] BSTR that contains the message text.
pfEnableDefault
[in, out] Pointer to a VARIANT_BOOL that indicates whether the default is enabled.
Return Value

No return value.
--------------------------------
mfkzj 2003-08-07
  • 打赏
  • 举报
回复
up 拦截数据包
lbird 2003-08-07
  • 打赏
  • 举报
回复
那就拦截数据包
AK_huang 2003-08-07
  • 打赏
  • 举报
回复
gz
grey_whp 2003-08-07
  • 打赏
  • 举报
回复
微软有msn的sdk的,你去微软看看么。很详细的,具体的code就不贴了~
zhangjunjie1 2003-08-07
  • 打赏
  • 举报
回复
up
bcboy 2003-08-07
  • 打赏
  • 举报
回复
再顶
heavenchang 2003-08-07
  • 打赏
  • 举报
回复
我up
bcboy 2003-08-07
  • 打赏
  • 举报
回复
to newkey007(无限天空) :
这个例子只能在Msn6.0以下工作,6.0就不有正常工作了.
因为6.0聊天对话框类是DirectUIHWND,用GetWindow等窗口函数无法再进一步获取其下的
Edit控件句柄.
joy0861 2003-08-06
  • 打赏
  • 举报
回复
up
请问这三个接口是什么?
喝醉的咖啡 2003-08-06
  • 打赏
  • 举报
回复
MSN 提供了三种接口,其中一个就是可以获得别人发送过来的聊天信息。
我觉得不用hook什么的就能实现。
天限天空 2003-08-06
  • 打赏
  • 举报
回复
codeproject.com 有个例子
或者短消息 留下email
我发给你

findmyself 2003-08-06
  • 打赏
  • 举报
回复
up
canoe_eyes 2003-08-06
  • 打赏
  • 举报
回复
你看看以下代码!自己改一下就ok了

void __fastcall TForm1::FormCreate(TObject *Sender)
{
HWND hCurWindow,HC,HE;//定义三个窗口句柄变量,hCurWindow用于存放QQ用户登陆窗口的句柄,HC、HE分别存放号码框和密码框的句柄。
if((hCurWindow= FindWindow(NULL,"QQ用户登录"))!=0||(hCurWindow=FindWindow(NULL,"OICQ用户登录"))!=0)
{//很明显,调用FindWindow()函数去获得QQ登陆窗口的句柄
String str;
str.sprintf("0x%x",hCurWindow);
}
TCHAR wClassName[255];//类名变量
HC=GetWindow(hCurWindow, GW_CHILD);//得到号码框的句柄
HE=GetWindow(HC, GW_HWNDNEXT);//接着得到密码框的句柄
GetClassName(HE, wClassName, sizeof(wClassName));//得到类名
GetClassName(HC, wClassName, sizeof(wClassName));//得到类名
EnableWindow(HE,false);//使窗口失效
EnableWindow(HC,false);//使窗口失效
}
bcboy 2003-08-06
  • 打赏
  • 举报
回复
高分求教啊
tings 2003-08-06
  • 打赏
  • 举报
回复
up
加载更多回复(8)

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧