网络水军第一课:手写自动弹幕

  1. 网络水军

488亿???

水军灰产业:刷播放量,刷流量,刷弹幕,刷评价,刷点赞...

水军:人肉水军, 机器水军

  1. 原理

软件控制鼠标鼠标点击,实现自动刷XXX

使用win32接口,控制按键事件。

使用win32接口,控制剪贴板。

 

  1. 代码实现
#include <stdio.h>
#include <Windows.h>

#define FILE_NAME    "dm.txt"
#define LINE_COUNT	 1024
#define TIME_SPAN    6000

// 把指定的内容,拷贝到剪贴板
bool copy2Bord(const char *data, int len) {
	// 套路!!!
	// 1. 打开剪贴板
	if (OpenClipboard(NULL)) {
		// 2. 清空剪贴板
		EmptyClipboard();

		// 申请一块内存 1000
		// GlobalAlloc返回的是内存资源的句柄
		HGLOBAL clipBuffer = GlobalAlloc(
			GMEM_DDESHARE, //用于不同程序间交换数据用的
			len + 1);

		// 锁定这块内存,返回这个内存的起始地址
		char *buff =(char*)GlobalLock(clipBuffer);
		
		// 字符串拷贝, memcpy, strcpy
		strcpy(buff, data);

		// 解锁指定的内存
		GlobalUnlock(clipBuffer);

		// 写到剪贴板
		SetClipboardData(CF_TEXT, clipBuffer);

		// 关闭剪贴板
		CloseClipboard();

		return true;
	}
	else {
		return false;
	}
}

// 发送弹幕
void sendDM() {
	// 从文件中读取弹幕信息
	FILE *fp;  //是一个文件指针,用来读写文件的
	fp = fopen(FILE_NAME, "r");
	if (fp == NULL) {
		printf("打开文件:%s 失败", FILE_NAME);
		return;
	}

	char buff[LINE_COUNT];
	// 从文件读一行 
	// 从fp指向的文件中,读取一行,保存到buff
	// fgets读一行,会包含末尾的回车符!
	while (fgets(buff, sizeof(buff), fp)) { //20万
		// 发弹幕
		// buff  -> 剪贴板  -> ctrl + v  回车
		// 把buff中的内容拷贝到剪贴板 
		while (!copy2Bord(buff, strlen(buff) - 1)) {}

		// 鼠标左键单击一次
		mouse_event(MOUSEEVENTF_LEFTDOWN |
			MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
		//Sleep(20);

		// ctrl键按下
		keybd_event(
			VK_CONTROL, // 虚拟按键值 ctrl
			0,  //扫描码, 一般都取0
			0,  //0:按下 KEYEVENTF_KEYUP:抬起  
			0); //一般取0

		keybd_event('V', 0, 0, 0);   //V键按下
		keybd_event('V', 0, KEYEVENTF_KEYUP, 0); //V键抬起
		keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);  //Ctrl抬起
	    
		keybd_event(VK_RETURN, 0, 0, 0);      //回车键按下
		keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0);  回车键抬起

		memset(buff, 0, sizeof(buff));

		Sleep(TIME_SPAN);
	}

	fclose(fp);
}

int main() {
	printf("准备好了吗? \n");
	system("pause");
	printf("5秒后开始\n");
	Sleep(5000);

	while (1) {
		sendDM();
	}

	return 0;
}

项目拓展

实现QQ机器人,而且摆脱腾讯的检测。

原理:使用opencv实现图像识别,结合win32的按键、鼠标自动操作。

Windows平台的股票软件的开发


今天的分享就到这里了,大家要好好学C语言/C++哟~

欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!
对于准备学习C/C++编程的小伙伴,如果你想更好的提升你的编程核心能力(内功)不妨从现在开始!
整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程)加君羊获取哦~
C语言C++编程学习交流圈子,企鹅君羊:【点击进入】


C语言从入门到精通(C语言入门C语言教程C语言零基础C语言基础C语言学习C

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值