tft每日頭條

 > 科技

 > 電腦端群發軟件有哪些

電腦端群發軟件有哪些

科技 更新时间:2024-08-31 10:17:46

過年的時候QQ裡各種群發祝福不斷,這種群發消息隻能在節假日的時候才會出現。日常生活中,在需要用到群發功能的時候,還需要借助其他軟件來實現群發。今天:在這裡簡單寫一個實現QQ群發功能的軟件(通過模拟按鍵來實現消息的群發)

電腦端群發軟件有哪些(windows編程一步一步帶你實現群發器)1

不想敲代碼,私信我“代碼” 即可獲取

創建項目

電腦端群發軟件有哪些(windows編程一步一步帶你實現群發器)2

電腦端群發軟件有哪些(windows編程一步一步帶你實現群發器)3

電腦端群發軟件有哪些(windows編程一步一步帶你實現群發器)4

電腦端群發軟件有哪些(windows編程一步一步帶你實現群發器)5

運行程序測試效果

電腦端群發軟件有哪些(windows編程一步一步帶你實現群發器)6

電腦端群發軟件有哪些(windows編程一步一步帶你實現群發器)7

選中控件,按下鍵盤上的删除<Delete>,控件就不見了。

電腦端群發軟件有哪些(windows編程一步一步帶你實現群發器)8

選擇控件,輸入:開始發送(或者右擊,屬性,改變文字)

電腦端群發軟件有哪些(windows編程一步一步帶你實現群發器)9

電腦端群發軟件有哪些(windows編程一步一步帶你實現群發器)10

選擇工具箱,找到Edit控件,在對話框上拖動顯示出來..

電腦端群發軟件有哪些(windows編程一步一步帶你實現群發器)11

電腦端群發軟件有哪些(windows編程一步一步帶你實現群發器)12

添加其他的控件,設置對話框界面。最終界面效果:

電腦端群發軟件有哪些(windows編程一步一步帶你實現群發器)13

編輯框右擊,添加變量:m_msg

電腦端群發軟件有哪些(windows編程一步一步帶你實現群發器)14

添加成功後

電腦端群發軟件有哪些(windows編程一步一步帶你實現群發器)15

添加類 QQMsg

電腦端群發軟件有哪些(windows編程一步一步帶你實現群發器)16

電腦端群發軟件有哪些(windows編程一步一步帶你實現群發器)17

電腦端群發軟件有哪些(windows編程一步一步帶你實現群發器)18

QQMsg.h裡寫入下列代碼

電腦端群發軟件有哪些(windows編程一步一步帶你實現群發器)19

不想敲代碼,私信我“代碼” 即可獲取

#pragma once

//這個類是實現QQ群發的類

class QQMsg

{

public:

QQMsg();

~QQMsg();

//static 創建一個類的入口

static QQMsg *Instance() {

static QQMsg object;

return &object;

}

//入口函數(開啟群發的函數實現)

void Start(const wchar_t *msg);//const 群發的消息,一般不改變

private:

//線程函數

static unsigned int WINAPI RunThreadProc(void *param);

//發送主函數

void SendMain();

//模拟鍵盤函數

void PressKey(BYTE vkey);//

//發送消息

void SendMsg();

//把文字拷貝到剪切闆

void CopyTextToClipborad();

private:

CString m_Msg;

};

在QQMsg.cpp中實現代碼

#include "stdafx.h"

#include "QQMsg.h"

QQMsg::QQMsg()

{

}

QQMsg::~QQMsg()

{

}

//入口函數(開啟群發的函數實現)

void QQMsg::Start(const wchar_t *msg)

{

m_Msg=CString(msg);

//開始線程

_beginthreadex(NULL, 0, QQMsg::RunThreadProc, NULL, 0, NULL);

}

//線程函數

unsigned int QQMsg::RunThreadProc(void *param)

{

QQMsg::Instance()->SendMain();

return 0;

}

//發送主函數

void QQMsg::SendMain()

{

int errtimes = 0;

//實現整個發送消息的流程

//複制文字到剪切闆

CopyTextToClipborad();

////int i;

while (errtimes<=4)

{

//2.找到QQ窗口

HWND hQQWnd = FindWindow(L"TXGuiFoundation",L"QQ");

//windows系統中窗口的查找.1.窗口類名稱.2.标題

//工具 --> spy

//找到一個最前的窗口

HWND hfront = GetForegroundWindow();

if (hQQWnd!= hfront)

{

if (!SetForegroundWindow(hQQWnd))//強制把QQ窗口置頂

{

MessageBox(NULL,L"找不到QQ窗口",L"警告",MB_OK);

break;

}

}

////模拟按鍵 keybd_event函數

if (errtimes == 0)

{//使用循環這裡會出問題

// i = 6;

// while (i--)

// {

// PressKey(VK_TAB);

// }

//按下6次TAB鍵

PressKey(VK_TAB);

PressKey(VK_TAB);

PressKey(VK_TAB);

PressKey(VK_TAB);

PressKey(VK_TAB);

PressKey(VK_TAB);

}

PressKey(VK_DOWN);

PressKey(VK_RETURN);

HWND hcurfrontWnd = GetForegroundWindow();

if (hcurfrontWnd == hQQWnd)

{

errtimes ;

continue;

}

errtimes = 0;

SendMsg();

}

}

//模拟鍵盤函數

void QQMsg::PressKey(BYTE vkey)

{

//模拟按鍵 keybd_event函數

keybd_event(vkey,0,0,0);

Sleep(100);//時間間隔100ms

keybd_event(vkey,0,KEYEVENTF_KEYUP,0);

Sleep(100);

}

//發送消息

void QQMsg::SendMsg()

{

//ctrl v

keybd_event(VK_CONTROL, 0, 0, 0);

Sleep(100);

keybd_event(0x56, 0, 0, 0);

Sleep(100);

keybd_event(0x56, 0, KEYEVENTF_KEYUP, 0);

Sleep(100);

keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);

Sleep(100);

PressKey(VK_RETURN);//enter

PressKey(VK_ESCAPE);//Esc 關閉

}

//把文字拷貝到剪切闆

void QQMsg::CopyTextToClipborad()

{

//全局内存中找一内存來存放字符串

int memLen = m_Msg.GetLength() * sizeof(wchar_t) 2;

HANDLE hHandle = GlobalAlloc(GHND, memLen);

void *addr = GlobalLock(hHandle);

ZeroMemory(addr, memLen);

memcpy(addr, (const wchar_t*)m_Msg.GetBuffer(), memLen);

GlobalUnlock(hHandle);

//

OpenClipboard(NULL);//打開剪切闆

EmptyClipboard();//清空

SetClipboardData(CF_UNICODETEXT, hHandle);//設置剪切闆内容

CloseClipboard();//

}

返回對話框,雙擊開始發送按鈕

電腦端群發軟件有哪些(windows編程一步一步帶你實現群發器)20

電腦端群發軟件有哪些(windows編程一步一步帶你實現群發器)21

3.将代碼改為下列(并在此文件頭中包含#include "QQMsg.h"):

電腦端群發軟件有哪些(windows編程一步一步帶你實現群發器)22

不想敲代碼,私信我“代碼” 即可獲取

UpdateData(true);

QQMsg::Instance()->Start(m_msg.GetBuffer());//m_msg.GetBuffer() 獲取指針

最後大功告成。快去試一試吧。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved