最近开发了一个向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)。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

wave12_mp

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

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

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

打赏作者

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

抵扣说明:

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

余额充值