用MFC写一个简易的恶作剧QQ好友的聊天轰炸机
原创文章,作者:StubbornHuang,如若转载,请注明出处:《用MFC写一个简易的恶作剧QQ好友的聊天轰炸机》https://www.stubbornhuang.com/976/
CSDN老文,审核不通过放在个人网站。
1 MFC QQ聊天轰炸机
突发奇想,想写一个轰炸自己QQ好友的聊天轰炸机,哈哈哈,看了半天自己就写了一个Low的聊天轰炸机,纯粹依靠剪切板往聊天窗口复制文字,然后模拟回车按钮完成发送,写了一个简单的MFC对话框Demo,大牛自动跳出,无需再看。
1.1 代码
/*-----进行轰炸按钮的消息响应函数--------------------*/
void CQQboomDlg::OnBnClickedButtonQqboom()
{
// TODO: 在此添加控件通知处理程序代码
vector<CString> m_BoomString;
m_BoomString.clear();
m_BoomString.shrink_to_fit();
CString m_QQnicheng;
m_NeedtoboomQQNum.GetWindowText(m_QQnicheng);//得到需要轰炸的QQ号码编辑框中所输入的文字信息,并赋值给m_QQnum
if (m_QQnicheng=="")//如果输入的号码为空
{
AfxMessageBox("请输入你想轰炸的QQ号码");
}
else//如果输入的号码不为空
{
if (Boomfilepath =="")//如果所选择的QQ轰炸文件的路径为空
{
AfxMessageBox("请选择轰炸文件");
}
else//如果不为空
{
CString tempCString;
CStdioFile filein;//声明文件操作对象
if (filein.Open(Boomfilepath,CFile::modeRead))//逐行读取boom文件中内容
{
while (filein.ReadString(tempCString))
{
m_BoomString.push_back(tempCString);//逐行压入m_BoomString容器中
}
}
HWND hHandle = ::FindWindow("TXGuiFoundation",m_QQnicheng);//找到当前QQ窗口的句柄
::ShowWindow(hHandle,1);//显示窗口
::SetForegroundWindow(hHandle);//将得到的窗口设置到前台并激活窗口
CString temp;
m_BoomNum.GetWindowText(temp);//得到需要设置轰炸次数的字符串
int BOOMNum=atoi(temp);//将字符串转为int型字符
if (BOOMNum!=0)
{
for (int j=0;j<BOOMNum;++j)
{
for (int i=0;i<m_BoomString.size();++i)
{
CString source=m_BoomString[i];
if (OpenClipboard())//打开剪切板
{
HGLOBAL clipbuffer; //定义一个HGLOBAL句柄变量用来指向分配的内存块
char * buffer;//定义指向字符型的指针变量
EmptyClipboard();//清空剪贴板
clipbuffer = GlobalAlloc(GMEM_DDESHARE, source.GetLength()+1);//在堆上分配可移动的内存块,程序返回一个内存句柄
buffer = (char*)GlobalLock(clipbuffer); //对分配的内存块进行加锁,将内存块句柄转化成一个指针,并将相应的引用计数器加1
strcpy(buffer, LPCSTR(source)); //将用户输入的数据复制到指针变量中,实际上就是复制到分配的内存块中
GlobalUnlock(clipbuffer);//数据写入完毕,进行解锁操作,并将引用计数器数字减1
SetClipboardData(CF_TEXT,clipbuffer); //将存放有数据的内存块放入剪贴板的资源管理中
CloseClipboard(); //关闭剪贴板,释放剪贴板资源的占用权
::SendMessage(hHandle, WM_PASTE, 0, 0);//模拟粘贴操作
::SendMessage(hHandle, WM_KEYDOWN, VK_RETURN, 0);//模拟回车按键操作,类似于点击了发送
}
}
}
}
}
}
}
1.2 使用步骤
- 单独拉出你想轰炸的QQ好友的聊天窗口,不要合在一起;
-
设置你想轰炸的QQ好友的昵称,就是你前面拉出来的单独的会话窗口好友的昵称;
-
选择你的BOOM.txt文件,里面是你想轰炸别人的话;
-
设置轰炸的次数。
1.3 使用截图
当前分类随机文章推荐
- 用MFC写一个简易的恶作剧QQ好友的聊天轰炸机
- Visual Studio - 将程序的日志输出到Visual Studio即时窗口
- WPF - 代码动态更换按钮的背景图片
- Windows 批处理文件bat执行完自动退出cmd黑窗口
- Windows - 虚拟按键Virtual-Key Codes大全
- Windows平台录音类封装:AudioRecordWindows
- PlaySound 播放内存中的音频数据
- mciSendCommand在Win10上奔溃的问题解决/循环播放音乐
全站随机文章推荐
- OpenGL画四个三角形组成四面体,并进行旋转
- 姿态估计之human3.6m数据集骨骼关节keypoint标注对应
- 资源分享 – Fluid Simulation for Computer Graphics, Second Edition英文高清PDF下载
- Modern OpenGL从零开始 - Fbxsdk::FbxAMatrix转换为glm::mat4
- 资源分享 - Advanced global illumination (2nd Edition) 英文PDF下载
- Python:UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position 12305,以及中文乱码的解决方案
- Centos7 - 配置Go环境
- Duilib - 使Duilib主窗口前置,但是又不是一直作为最顶层窗口
- VTK读取序列的Dicom医学图片,用Marchingcube进行重建,并保存为obj文件
- WordPress - $Post WP_Post对象的属性