求助:如何取得旺旺的即时对话信息

putinit 2011-03-24 12:17:31
自己想实现对旺旺的对话信息转发到手机,
如今已实现找到聊天对话窗口,获取对话窗口标题文字,
但无法获取到对话窗口中对话文本信息,请教如何实现!
查阅了一些资料,说是用SendMessage WM_GETTEXT ,但没有找到相关具体使用资料,自己写的也无法得到内容。
不知道是否可以实现,有示例语句更佳,谢谢!
...全文
290 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
putinit 2011-03-27
  • 打赏
  • 举报
回复
枚举到对话窗口中有如下类
Edit1 有如下控件类名称
SuperTabCtrl

StandardButton

StandardButton

StandardButton

StandardWindow

EditComponent

ToolBarPlus

AdvertisementView

StandardWindow

SplitterBar

StandardWindow

SimpleBrowser

Shell Embedding

Shell DocObject View

Internet Explorer_Server

FlashButton

StandardButton

StandardWindow

ChatFontToolbar
font_set
ComboBoxComponent

ComboBoxComponent

ToolBarPlus

StandardButton

ToolBarPlus

RichEditComponent

StandardWindow

StandardWindow

SimpleBrowser

Shell Embedding

Shell DocObject View

Internet Explorer_Server

StandardWindow

StandardWindow

SuperTabCtrl

用SinpleBrowser试了也不行啊!
继续求解,道谢!
dinoalex 2011-03-27
  • 打赏
  • 举报
回复
http://hi.baidu.com/woshihaoge/blog/item/9d6fe0edff01ba4e78f0559f.html

这个对你应该有帮助
putinit 2011-03-27
  • 打赏
  • 举报
回复
使用
h:= FindWindowEx(窗口句柄,0,'TWebBrowser',nil)

h:= FindWindowEx(窗口句柄,0,'WebBrowser',nil)
都无法找到,h返回0,
用spy4win查到类名为:Internet Explorer_Server
但也无法用这个找到句柄。。。。

sanguomi 2011-03-27
  • 打赏
  • 举报
回复
遍历窗口, 找到淘宝控件的句柄。
GetWindowText取标题
putinit 2011-03-27
  • 打赏
  • 举报
回复
感谢 dinoalex的大力支持,现在已经成功实现!!
谢谢!
dinoalex 2011-03-27
  • 打赏
  • 举报
回复
网上资源看,要的就是 Internet Explorer_Server ,然后发消息.
sanguomi 2011-03-27
  • 打赏
  • 举报
回复
如果他是画上去的话,你得HOOK才能拿到
dinoalex 2011-03-27
  • 打赏
  • 举报
回复
[code=Delphi(Pascal)]
uses OleCtrls, SHDocVw, Activex, MSHTML;

type
TObjectFromLResult = function(LRESULT: lResult; const IID: TIID; WPARAM: wParam; out pObject): HRESULT; stdcall;

procedure TForm1.Button1Click(Sender: TObject);
var
h, dh: THandle;
WMHTMLGETOBJECT: Cardinal;
lRes: Cardinal;
pDoc: IHTMLDocument2;
IE: IWebbrowser2;
ObjectFromLresult: TObjectFromLresult;
begin
h:= Internet Explorer_Server 的句柄;
WMHTMLGETOBJECT := RegisterWindowMessage('WM_HTML_GETOBJECT');
SendMessageTimeOut(h, WMHTMLGETOBJECT, 0, 0, SMTO_ABORTIFHUNG, 1000, lRes);
dh:= LoadLibrary('Oleacc.dll');
@ObjectFromLresult:= GetProcAddress(dh, 'ObjectFromLresult');
ObjectFromLresult(lRes, IHTMLDocument2, 0, pDoc);
(pDoc.parentWindow as IServiceprovider).QueryService(IWebbrowserApp, IWebbrowser2, IE);
Memo1.Lines.Add((IE.Document as IHTMLDocument2).body.innerText);
FreeLibrary(dh);
end;
[/Code]
dinoalex 2011-03-26
  • 打赏
  • 举报
回复
嗯~ 其中有simplebrowser, 这个有点麻烦, 如果输入框的话,还好办.
putinit 2011-03-26
  • 打赏
  • 举报
回复
to dinoalex:
怎么找到对话信息窗口控件句柄?

他们说旺旺的对话窗口是一个webbrowser,不知道如何获取?
dinoalex 2011-03-26
  • 打赏
  • 举报
回复
找到窗口句柄,再找控件句柄,然后发消息WM_GETTEXT,这样就行了
putinit 2011-03-26
  • 打赏
  • 举报
回复
还有人帮忙吗?分不够可以加啊,只是现在最多只能给100分啊
putinit 2011-03-25
  • 打赏
  • 举报
回复
谢谢!!呵呵,没有做过这方面的东东,只是自己做着好玩想实现一下!
无条件为你 2011-03-25
  • 打赏
  • 举报
回复
可以获取到,楼主可主动联系我。你对消息理解的不够深刻。
putinit 2011-03-24
  • 打赏
  • 举报
回复
SendMessage(PrevInstHandle, WM_GETTEXT,size,longint(p));

还是取到的窗口标题,
是不是还要取到对话框控件的名称还是什么?

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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