如何监视QQ聊天窗口的创建和销毁?

jinling4388 2009-04-09 11:40:49
我知道QQ的主进程ID,怎么监视QQ是否有新的聊天窗口打开或原有聊天窗口关闭?
...全文
369 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
Paradin 2009-04-13
  • 打赏
  • 举报
回复
帮顶。
jinling4388 2009-04-13
  • 打赏
  • 举报
回复
QQ窗口不行。
我现在想知道钩子是我那么写的吗?
jinling4388 2009-04-10
  • 打赏
  • 举报
回复
估计就是这样写的,现在我在研究来新消息是哪个事件。剩下的就简单了。

上面的代码对吗?
黑夜愁客 2009-04-10
  • 打赏
  • 举报
回复

哦 这个有意思,楼主写好分享下,关注
jinling4388 2009-04-10
  • 打赏
  • 举报
回复

BOOL ssnStart(DWORD id)
{
if (hWnd)
{
g_hhook = SetWindowsHookEx(WH_CALLWNDPROCRET, (HOOKPROC)HookProc, theApp.m_hInstance, id);
}
return FALSE;
}
LRESULT CALLBACK HookProc(int nCode, WPARAM wParam, LPARAM lParam)
{
CWPRETSTRUCT* mesInfo = (CWPRETSTRUCT*)lParam;
if (mesInfo->message == WM_INITDIALOG)
{
//处理代码
}
if (mesInfo->message == WM_DESTROY)
{
//处理代码
}
}



是这样写吗?
其中,CWPRETSTRUCT* mesInfo 中都是什么呀?
mesInfo->message 是WM_DESTROY等消息吗?
mesInfo->hwnd 是创建或销毁的那个窗口的HWND吗?
liang118038liang 2009-04-10
  • 打赏
  • 举报
回复
FindWindow不就成了吗?

HWND FindWindow( LPCTSTR lpClassName,
LPCTSTR lpWindowName
);
ysysbaobei 2009-04-10
  • 打赏
  • 举报
回复
jinling4388 2009-04-10
  • 打赏
  • 举报
回复
沉得好快,知道的给解答一下吧!谢谢了!
jinling4388 2009-04-09
  • 打赏
  • 举报
回复
那有新消息时是触发什么事件呢?
Jinhao 2009-04-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 amei2000go 的回复:]
挂一个消息钩子进去,创建时会触发 WM_INITDIALOG 消息,关闭时会触发 WM_CLOSE 消息

也许第一次显示消息会创建出来,后面的窗口不一定会创建,这时你可以监视其他的消息,比如 WM_SHOWWINDOW 等。
[/Quote]

应该是WM_DESTROY,某些情况是不会有WM_CLOSE的
jinling4388 2009-04-09
  • 打赏
  • 举报
回复
我试试,谢谢了!
梅文海 2009-04-09
  • 打赏
  • 举报
回复
挂一个消息钩子进去,创建时会触发 WM_INITDIALOG 消息,关闭时会触发 WM_CLOSE 消息

也许第一次显示消息会创建出来,后面的窗口不一定会创建,这时你可以监视其他的消息,比如 WM_SHOWWINDOW 等。
jinling4388 2009-04-09
  • 打赏
  • 举报
回复

BOOL ssnStart(DWORD id)
{
if (hWnd)
{
g_hhook = SetWindowsHookEx(WH_CALLWNDPROCRET, (HOOKPROC)HookProc, theApp.m_hInstance, id);
}
return FALSE;
}
LRESULT CALLBACK HookProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if (wParam == WM_INITDIALOG)
{
//处理代码
}
if (wParam == WM_DESTROY)
{
//处理代码
}
}


是这样写吗?
jinling4388 2009-04-09
  • 打赏
  • 举报
回复
好的,谢谢!是WH_CALLWNDPROCRET钩子吧?
有新聊天记录是什么消息呀?

64,662

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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