最近开发了一个向QQ好友自动发送消息的程序

最近开发了一个向QQ好友自动发送消息的程序,功能如下:

1、可以管理要发送的消息。

2、可以管理要发送的用户,按组进行分类。

3、自动发送消息,灵活的时间间隔设置。

4、发送消息支持文字、图片。

5、软件源码是利用鼠标和键盘模拟实现、不改变发送消息的目标软件。

6、源码语言是c++,开发工具是VS2019。

软件界面如下:

无论是发送图片还是发送文字,都是借助剪贴板,核心代码如下:

void CAutoSecretaryDlg::handlePastAction(CAction* pAc, CAutoSecretaryDlg* pDlg)
{
    //AfxMessageBox(_T("past"));
    CPastAction* pObj = (CPastAction*)pAc; 
    int type = pObj->getConType();
    CString strSendCon = _T("");
    bool bIsPic = false;
    if (type == 1) {
        strSendCon = pDlg->m_curSendTargetName;
    }
    else {
        strSendCon = pDlg->m_curSendCon;  
        if (_tcsncmp(strSendCon.GetBuffer(0), _T("[2]"), 3) == 0) 
        {
            bIsPic = true;
        }
        TCHAR* strPos = _tcschr(strSendCon.GetBuffer(0) + 3, ']');   // 把前面的类型和空闲时间去掉
        strSendCon = strPos + 1;
    }     

    if (OpenClipboard())
    {
        EmptyClipboard();
        HANDLE hClip = NULL;

        if (type == 2 && bIsPic)   // 发送内容,且为图片
        {  
            VERIFY(SetClipboardData(CF_BITMAP, LoadImage(NULL, strSendCon, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_DEFAULTSIZE)));
            CloseClipboard();
        }
        else {
            USES_CONVERSION;//声明标示符            
            hClip = GlobalAlloc(GMEM_MOVEABLE, strSendCon.GetLength() * sizeof(TCHAR) + 1);
            CHAR* pBuf = (CHAR*)GlobalLock(hClip);
            memset(pBuf, 0, strSendCon.GetLength() * sizeof(TCHAR) + 1);
            //AfxMessageBox(m_curSendTargetName.GetBuffer(0));
            char* pChStr2 = W2A(strSendCon);
            memcpy(pBuf, pChStr2, strSendCon.GetLength() * sizeof(TCHAR));
            GlobalUnlock(hClip);

            SetClipboardData(CF_TEXT, hClip);
        }
        CloseClipboard();

        //AttachThreadInput(GetWindowThreadProcessId(m_hWndActive, NULL), GetCurrentThreadId(), TRUE);
        //::SetForegroundWindow(m_hWndActive);
        //::BringWindowToTop(m_hWndActive);
             
        Sleep(1000);

        //keybd_event(VK_CONTROL, 0, 0, 0);
        //keybd_event('V', 0, 0, 0);
        //Sleep(100);
        //keybd_event('V', 0, KEYEVENTF_KEYUP, 0);
        //keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);        


        INPUT input[4];
        memset(input, 0, sizeof(input));
        //设置模拟键盘输入
        input[0].type = input[1].type = input[2].type = input[3].type = INPUT_KEYBOARD;
        input[0].ki.wVk = input[2].ki.wVk = VK_CONTROL;
        input[1].ki.wVk = input[3].ki.wVk = 'V';
        // 释放按键,这非常重要
        input[0].ki.dwFlags = input[1].ki.dwFlags = 0;
        input[2].ki.dwFlags = input[3].ki.dwFlags = KEYEVENTF_KEYUP;
        SendInput(4, input, sizeof(INPUT));
             
        SleepEx(1000, false);

        //AfxMessageBox(_T("DDDDD"));

        GlobalFree(hClip);
    } 
}

代码自动发送消息是针对QQ,如果要改成钉钉、或者微信等其他及时通信软件,只需要做少量调整即可。

如果需要整个工具的源码,可以联系我QQ(395702361)。

注意,工具代码仅用于学习和交流,编译出的软件请勿用于发送非法信息,否则后果自负。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
实现该功能需要用到QQ机器人,可以使用Python中的QQBot库来编写机器人代码。具体步骤如下: 1. 安装QQBot:在命令行中输入`pip install qqbot`。 2. 注册一个QQ机器人,获取机器人的QQ号和登录凭证(即密码或二维码)。 3. 在QQ中添加机器人为好友,并将机器人设置为接受消息自动同意添加好友请求。 4. 在本地创建一个Python文件,编写机器人代码。代码主要包括以下几个部分: - 登录机器人账号; - 定义消息处理函数; - 注册消息处理函数; - 运行机器人。 5. 在消息处理函数中编写转发邮件的代码。可以使用Python中的smtplib库实现邮件发送功能。具体步骤如下: - 导入smtplib库; - 创建SMTP对象,并连接到邮箱服务器; - 登录邮箱账号; - 编写邮件内容; - 发送邮件; - 关闭SMTP对象。 下面是一个示例代码,可以将QQ好友发送消息自动转发到指定的QQ邮箱: ```python import qqbot import smtplib from email.mime.text import MIMEText from email.header import Header # 设置邮箱服务器和账号信息 mail_host = 'smtp.qq.com' mail_user = 'your-email@qq.com' mail_pass = 'your-email-password' # 设置收件人邮箱 to_addr = 'target-email@qq.com' # 登录机器人账号 bot = qqbot.QQBot() bot.Login() # 定义消息处理函数 def onQQMessage(bot, contact, member, content): # 判断消息是否来自好友 if contact.ctype == 'buddy': # 创建SMTP对象,连接到邮箱服务器 smtp_obj = smtplib.SMTP_SSL(mail_host, 465) smtp_obj.login(mail_user, mail_pass) # 编写邮件内容 message = MIMEText(content, 'plain', 'utf-8') message['From'] = Header(mail_user, 'utf-8') message['To'] = Header(to_addr, 'utf-8') message['Subject'] = Header('自动发消息', 'utf-8') # 发送邮件 smtp_obj.sendmail(mail_user, to_addr, message.as_string()) # 关闭SMTP对象 smtp_obj.quit() # 注册消息处理函数 bot.OnQQMessage = onQQMessage # 运行机器人 bot.Run() ``` 在代码中,需要将`your-email@qq.com`和`your-email-password`修改为你的QQ邮箱账号和密码,将`target-email@qq.com`修改为你要转发消息的邮箱地址。同时,也可以根据需要修改邮件主题和正文格式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wave12_mp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值