网络聊天室(群发助手
(一)项目要求
能够实现针对QQ某一分组成员群发消息的功能。
(二)开发环境
C++、MFC(图形窗口)、Git等
(二)系统模块设计
1.基于MFC绘制一个图形窗口 ,并添加相应的Button按键作为发送按键,添加一个对话框作为文本输入。
2.功能函数入口。
3.开启一个线程。
4.获取输入框里的信息。
5.模拟按键实现发送功能。
//发送的流程
void QQMessage:: SendAll()
{
//将消息粘贴到粘贴板
AaaToClipBoard();
int fals = 1;
//1.找到窗口 FindWindow(L"窗口的类名称",L"标题");
HWND qqhend = FindWindow(L"TXGuiFoundation", L"QQ");
//2.找到的qq窗口是不是在桌面的最前方
HWND fronthwnd = GetForegroundWindow();
if (qqhend != fronthwnd) //判断qq窗口是不是在桌面的最前方
{
if (!SetForegroundWindow(qqhend))//如果不在最前方 ,需要将qq窗口放到最前方
{
MessageBox(NULL, L"找不到QQ窗口", NULL, NULL);
}
}
int group = 1;
//模拟按键Tab Tab
PreesKey(VK_TAB);
PreesKey(VK_TAB);
PreesKey(VK_DOWN);
//模拟按键回车
PreesKey(VK_RETURN);
while (1)
{
//模拟按键Down
PreesKey(VK_DOWN);
//模拟按键回车
PreesKey(VK_RETURN);
//模拟按键Down
PreesKey(VK_DOWN);
//模拟按键回车
PreesKey(VK_RETURN);
HWND curhwnd = GetForegroundWindow();
if (curhwnd==qqhend)
{
MessageBox(NULL, L"已发送完毕!", NULL, NULL);
break;
}
///
//到这里已经打开联系人了
发送消息
SendMsg();
//模拟按键Tab Tab
PreesKey(VK_TAB);
PreesKey(VK_TAB);
}
}
//模拟按键
void QQMessage:: PreesKey(BYTE vkey)
{
keybd_event(vkey, 0, 0, 0); //模拟一个按键 按下
Sleep(100);
keybd_event(vkey, 0, KEYEVENTF_KEYUP, 0); //模拟一个按键 弹起
Sleep(100);
}
//发送消息
void QQMessage:: SendMsg()
{
/
//Ctrl+V
//模拟Ctrl 按下
keybd_event(VK_CONTROL, 0, 0, 0);
Sleep(100);
//模拟V 按下
keybd_event(0x56, 0, 0, 0);
Sleep(100);
//模拟V 弹起
keybd_event(0x56, 0, KEYEVENTF_KEYUP, 0);
Sleep(100);
//模拟Ctrl弹起
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);
Sleep(100);
/
//回车键发送
PreesKey(VK_RETURN);
//模拟ESC退出
PreesKey(VK_ESCAPE);
}
6.发送。
(三)视频演示
详情见如下链接:
http://m.youku.com/v_show/id_XNDc2NTQyNzcxMg==.html?pgcpgcid=UNzc5OTMyODQ0OA%3D%3D&sharekey=8822a181ab236c63d3a01af2bc97ea1d7
(四)源代码
详情见如下链接:
https://github.com/xiaomu00/Project/tree/master/%E7%BD%91%E7%BB%9C%E8%81%8A%E5%A4%A9%E5%AE%A4/%E7%BD%91%E7%BB%9C%E8%81%8A%E5%A4%A9%E5%AE%A4
转载:https://blog.csdn.net/xiaomu_Y/article/details/107559263
查看评论