• 本站由于前段时间遭受到大量临时和国外邮箱注册,所以对可注册的邮箱类型进行了限制!

  • 欢迎大家交换友链,可在https://www.stubbornhuang.com/申请友情链接进行友链交换申请!

  • 问题反馈可发送邮件到stubbornhuang@qq.com

  • 感谢大家访问本站,希望本站的内容可以帮助到大家!

  • 在本站开通年度VIP,无限制下载本站资源和阅读本站文章

  • 工资「喂饱肚子」,副业「养活灵魂」!

  • 计算机图形学与计算几何经典必备书单整理,下载链接可参考:https://www.stubbornhuang.com/1256/

  • 本站会放置Google广告用于维持域名以及网站服务器费用。

  • 如果觉得本站的内容有帮助,可以考虑打赏博主哦!

用MFC写一个简易的恶作剧QQ好友的聊天轰炸机

Windows编程 发布于2020-11-16 阅读 5,071次 0次评论 1次点赞 本文共1863个字,阅读需要5分钟。

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 使用步骤

  1. 单独拉出你想轰炸的QQ好友的聊天窗口,不要合在一起;

  2. 设置你想轰炸的QQ好友的昵称,就是你前面拉出来的单独的会话窗口好友的昵称;

  3. 选择你的BOOM.txt文件,里面是你想轰炸别人的话;

  4. 设置轰炸的次数。

1.3 使用截图

用MFC写一个简易的恶作剧QQ好友的聊天轰炸机-第0张图片
用MFC写一个简易的恶作剧QQ好友的聊天轰炸机-第1张图片

欢迎扫码关注我的微信公众号,及时获取文章更新

微信公众号二维码

本文作者:StubbornHuang

版权声明:本文为站长原创文章,如果转载请注明原文链接!

原文标题:用MFC写一个简易的恶作剧QQ好友的聊天轰炸机

原文链接:https://www.stubbornhuang.com/976/

发布于:2020年11月16日 22:25:57

修改于:2023年06月26日 22:06:11

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

文章末尾
上一篇
Modern OpenGL - GLSL着色语言2:GLSL入口函数和GLSL中的变量
OpenGL可编程渲染管线
下一篇
UnrealEngine4 - 将FTexture2DRHIRef保存为图片
UnrealEngine
当前分类随机文章推荐

发表评论

您必须 [ 登录 ] 才能发表留言!

关注我们的公众号

微信公众号