QQ2010自动发送消息思路

见习学术士 2010-09-25 06:06:18
以下是我写的发送代码:


BOOL CSysRemind::SendQQ(CString strQQ, //QQ号码
CString strTitle, //QQ聊天窗口标题(好友名称)
CString strContent)//需要发送的内容 ;
{


HWND qqHwnd = ::FindWindow(NULL,strTitle);

if( qqHwnd == NULL )
{
CString strQQUrl;
strQQUrl.Format("tencent://Message/?Menu=yes&Uin=%s&Site=itbulu&Service=300&sigT=45a1e5847943b64c6ff3990f8a9e644d2b31356cb0b4ac6b24663a3c8dd0f8aa12a595b1714f9d45", strQQ);
ShellExecute(NULL, _T("open"), strQQUrl, NULL, NULL, SW_SHOWNORMAL);
Sleep(6000);
qqHwnd = ::FindWindow(NULL,strTitle);
}

if(qqHwnd == NULL)
{
m_strError = "QQ聊天窗口不存在!";
return FALSE;
}

if(OpenClipboard(qqHwnd))
{
HGLOBAL clipbuffer;
char * buffer;
EmptyClipboard();
clipbuffer = GlobalAlloc(GMEM_DDESHARE, strContent.GetLength()+1);
buffer = (char*)GlobalLock(clipbuffer);
strcpy(buffer, LPCSTR(strContent));
SetClipboardData(CF_TEXT,clipbuffer);
GlobalUnlock(clipbuffer);
CloseClipboard();
/*if( clipbuffer )
{
GlobalFree(clipbuffer);
clipbuffer = NULL;
}*/
}

keybd_event(VK_CONTROL,0,0,0);
::SendMessage(qqHwnd, WM_KEYDOWN, 'V', 1);
::SendMessage(qqHwnd, WM_KEYUP, 'V', 1);
keybd_event(VK_CONTROL,0,KEYEVENTF_KEYUP,0);

keybd_event(VK_MENU,MapVirtualKey(VK_MENU,0),0,0);
::SendMessage(qqHwnd, WM_SYSKEYDOWN, 'S', 1);
::SendMessage(qqHwnd, WM_SYSKEYUP, 'S', 1);
keybd_event(VK_MENU, MapVirtualKey(VK_MENU,0), KEYEVENTF_KEYUP, 0);



return TRUE;

}


有2个问题:
1,我这里是通过传进来的QQ聊天窗口标题来找聊天窗口,还有其它的查找方法吗?
2,如何获取QQ好友里的QQ号码,我这里是直接输入的?
...全文
165 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tortoise1023 2010-12-23
  • 打赏
  • 举报
回复
有解决方案了么》?
sphink10 2010-11-19
  • 打赏
  • 举报
回复
楼主找到解决方案了吗
见习学术士 2010-09-26
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 fishion 的回复:]
得到进程快照,根据进程ID用EnumWindow来进行查找
[/Quote]

怎么知道是我要发送消息的聊天窗口呢?
fishion 2010-09-26
  • 打赏
  • 举报
回复
得到进程快照,根据进程ID用EnumWindow来进行查找
重复的昵称嘛 2010-09-26
  • 打赏
  • 举报
回复
学习来了.
xengine-qyt 2010-09-25
  • 打赏
  • 举报
回复
一直在关注着。。。2008 可以通过 交谈中 枚举窗口句柄后 到2009 就没见过可以自动对多个QQ用户进行聊天的了。 单对单 自动聊天源码到是很常见!
见习学术士 2010-09-25
  • 打赏
  • 举报
回复
没有进展呀。
逸萌 2010-09-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 sl_shalou 的回复:]
学习学习
[/Quote]up
oyljerry 2010-09-25
  • 打赏
  • 举报
回复
主要是窗口聊天的标题如果有变化
sl_shalou 2010-09-25
  • 打赏
  • 举报
回复
学习学习
zc_china 2010-09-25
  • 打赏
  • 举报
回复
路过 顶一下~~
  • 打赏
  • 举报
回复
关注一下!!很意义的问题!!

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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