首页
社区
课程
招聘
[原创]开源 C++配合大漠插件实现的消息泵模式按键模拟编程
发表于: 2015-4-14 00:51 14328

[原创]开源 C++配合大漠插件实现的消息泵模式按键模拟编程

2015-4-14 00:51
14328

开发背景:某天正在用OPENGL写一个UI界面库,发现实现过程越来越很有趣,一发不可收拾。
于是想着能不能在逻辑型代码上实现类似界面的那种思维。
花了2天写的,对新手或者老手 都是会有帮助的。
这个类库的特点:
逻辑全部封装,你只需要提供要执行的行为,已经行为达到某个触发条件执行特定的事物。执行Execu即可。免去了大量重复的逻辑判断,大量的重复的函数调用。

加载大漠插件避开了COM组件注册表机制,用的WIN32方式加载

示例代码:

[COLOR="DarkOrchid"]
DmFindPic  PicBaiDu_Open;//点击召唤师资料
	DmFindPic  PicBaiDu_Yixia;//查找是否有装备设置图标 但不点击

	PicBaiDu_Open.SetPicName(".\\1.bmp");
	PicBaiDu_Yixia.SetPicName(".\\2.bmp");
	{
	PicBaiDu_Yixia.Enable_Click_whileFind(false);//找到图片不点击
	PicBaiDu_Yixia.Enable_break_whileFind();//找到了就退出app1
   DmABCDEFG_ACTION Yidong;
	Yidong.SetWay(偏移,100,20);
	PicBaiDu_Yixia.AddSubDo(&Yidong);


	DmABCDEFG_ACTION Shuangji;
	Shuangji.SetWay(双击,NULL);
	PicBaiDu_Yixia.AddSubDo(&Shuangji);



	DmABCDEFG_ACTION Shuru;
	Shuru.SetWay(输入文字,"测试");
 	Shuru.Enable_break_whileFind();
	PicBaiDu_Yixia.AddSubDo(&Shuru); 

	}
 
	Mydm dm1;
	dm1.MianzhuCe();
	dm1.RegDM();


	DmManger app1;
	app1.AttachDm(&dm1);
	app1.SetDoAndDo_Time(10);
	app1.SetSleepFunc(BindSleep(Mysleep));


	app1.AddDo(&PicBaiDu_Open);
	app1.AddDo(&PicBaiDu_Yixia);
	while (app1.Execu()==false)
	{
		OutputDebugStringA("false");
	}
 
	AfxMessageBox("over");
	// TODO: 在此添加控件通知处理程序代码

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 4
支持
分享
最新回复 (9)
雪    币: 168
活跃值: (623)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
楼主无私的精神,前排支持……
2015-4-14 08:35
0
雪    币: 135
活跃值: (63)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
3
学习mark。
2015-4-14 09:01
0
雪    币: 101
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
楼主,您这个dm是那个版本啊,配套的chm能给一份嘛,先谢谢啦
2015-4-14 09:36
0
雪    币: 60
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
赞一个,支持开源。
2015-4-14 09:37
0
雪    币: 261
活跃值: (547)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
大漠哪个版本都可以,免费版的也可以的
2015-4-14 13:28
0
雪    币: 5
活跃值: (108)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
这个能在登陆框那里模式输入账号密码吗?
2015-4-30 01:10
0
雪    币: 5
活跃值: (108)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
LZ 我QQ51007712,我有问题请教,希望加Q详谈。
2015-5-4 11:34
0
雪    币: 5
活跃值: (108)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
研究了下这个代码,测试平台VS2012  WINDOWS8.1 测试时间:2015-05-07 测试没用。

但是看这个代码好像是一个教程里的,不知道可以说说是什么教程呢?
2015-5-7 11:03
0
雪    币: 8
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
不能运行请在Mydm.cpp里,Mydm::RegDM实现中,
把if ( dm->Reg("改成你的大漠注册码","")!=1)
2016-3-4 13:21
0
游客
登录 | 注册 方可回帖
返回
//