大漠插件找图

#ifndef BASE_H
#define BASE_H
#include <iostream>
#include "Debug\dm.tlh"


int find_pic(long x, long y, long x1, long y1, _bstr_t path, double sim, VARIANT* intX, VARIANT* intY);

#endif

 

#include "base.h"

extern Idmsoft* dm;//因为这个时注册在main.c中,需要用extern声明一下
using namespace std;

/*
功能: 查找屏幕中的图片
参数:
	x, y, x1, y1: 屏幕坐标
	path: 图片路径
	sim: 图片精度
	intX: 一个数据结构,如果想要获取坐标点则需要 intX->boolVal
	intY: 一个数据结构,如果想要获取坐标点则需要 intY->boolVal
返回值:
	0: 表示没找到
	1: 表示找到了
*/
int find_pic(long x, long y, long x1, long y1, _bstr_t path, double sim, VARIANT* intX, VARIANT* intY)
{


	int ret = 0;
	long dm_ret = dm->FindPic(x, y, x1, y1, path, "000000", sim, 0, intX, intY);


	if (intX->boolVal > 0 && intY->boolVal > 0)
	{
		//cout << "找到了" << endl;
		//cout << intX.boolVal << endl << intY.boolVal << endl;
		ret = 1;
	}
	else
	{
		//cout << "没找到了" << endl;
		ret = 0;
	}

	return ret;
}

测试代码:

#include <iostream>
#include "Debug\dm.tlh"
#include "base.h"


using namespace std;
Idmsoft* dm;
Idmsoft* GetDmObject()
{
	Idmsoft* m_dm = NULL;
	bool m_bInit = false;
	//直接加载dll创建对象,避免进行注册文件
	typedef HRESULT(_stdcall* pfnGCO)(REFCLSID, REFIID, void**);
	pfnGCO fnGCO = NULL;
	HINSTANCE hdllInst = LoadLibrary("dm.dll");
	fnGCO = (pfnGCO)GetProcAddress(hdllInst, "DllGetClassObject");
	if (fnGCO != 0)
	{
		IClassFactory* pcf = NULL;
		HRESULT hr = (fnGCO)(__uuidof(dmsoft), IID_IClassFactory, (void**)&pcf);
		if (SUCCEEDED(hr) && (pcf != NULL))
		{
			hr = pcf->CreateInstance(NULL, __uuidof(Idmsoft), (void**)&m_dm);
			if ((SUCCEEDED(hr) && (m_dm != NULL)) == FALSE)
				return NULL;
 
		}
		pcf->Release();
		m_bInit = true;
	}
	else
		m_bInit = false;
	return m_dm;
 
}

int main()
{
	dm = GetDmObject();
	cout << dm->Ver() << endl;
	//dm->Reg(L"注册码", L"dass");//收费版本需要注册后才能使用
	/*6.1538版本修改内存可直接调用*/
	DWORD pid = GetCurrentProcessId();
	int handle = (int)GetModuleHandle("dm.dll");
	cout << "进程ID:" << pid << "模块句柄:" << handle << endl;
	HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
	int value = 1;
	bool is = WriteProcessMemory(hProcess, LPVOID(handle + 1078240), &value, 1, NULL);

	/*调用大漠插件内函数*/

	dm->MoveTo(0, 0);
	dm->delay(3000);	
	dm->KeyPressStr("1234567890", 10);

 
	VARIANT intX, intY;
	if (find_pic(0, 0, 2000, 2000, "D:/大漠插件/DM/picture/test/1.bmp", 0.9, &intX, &intY) == 1)
	{
		cout << "找到了" << endl;
		cout << intX.boolVal << ", " << intY.boolVal << endl;
	}
	else
	{
		cout << "没找到" << endl;
	}
 
	while (1);
	return 0;
}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
v2.1151 1. 解决EnumWindow有候会卡死的问题 2. KeyDownStr KeyUpStr KeyPressStr更名KeyDownChar KeyUpChar KeyPressChar 增加付费接口KeyPressStr 3. 去掉属性dx.public.keypad.patch,dx.public.keypad.sync和dx.public.mouse.sync. 增加收费接口EnableKeypadPatch EnableKeypadSync EnableMouseSync 4. 解决后台特征码失效的BUG。(上一个版本的问题) 5. 优化FindXXXX等的查询速度. 同接口FindIntEx FindFloatEx FindDoubleEx FindStringEx FindDataEx参数变更. 6. 解决FindMultiColor和FindMultiColorEx在某些候会找不到的BUG 7. 加强绑定模式1. 增加付费接口DmGuard 8. 增加付费接口FaqCaptureFromFile 【插件特色】 1. 文字识别领域,目前插件界,识别速度和准确率No.1 7000汉字,全屏识别,只需要几百毫秒,性能强劲! 2. 后台键鼠方面,目前插件界功能最齐全,最强悍的后台键鼠 3. 图色方面,高速找图找色,取色 4. 支持MASM Call代码嵌入执行 【功能特点】 文字识别方面 1. 所有文字识别接口都支持后台gdi 后台gdi2 后台dx 后台dx2 后台dx3 以及前台normal 2. 支持RGB HSV颜色识别 3. 支持RGB HSV差色识别 4. 支持多种颜色混合识别(最多10种) 5. 支持连体字识别 6. 支持背景色识别 7. 支持点阵模糊识别(防杂点干扰) 8. 支持查找指定字符串在屏幕的坐标 9. 支持查找指定字符串在屏幕上的所有坐标 10. 支持在未知文字的情况下进行词组识别 11. 支持在没有字库的情况下,进行词组范围识别 12. 支持多字库,最多10个字库。方便针对不同的情况制作字库. 13. 完全兼容91OCR字库(txt字库,mdb不支持) 14. 支持字库自定义加密解密 15. 支持识别指定图片中的文字 16. 支持在代码中添加字库 图色方面 1. 所有图色接口都支持后台gdi 后台gdi2 后台dx 后台dx2 后台dx3 以及前台normal 2. 支持颜色查找,多种颜色查找,并可指定搜索的方向以及相似度 3. 支持图形查找,多个图形查找,并可指定搜索的方向以及相似度 4. 支持直接获取某点的颜色(RGB,HSV) 5. 支持直接对某点的颜色进行比较,可指定相似度 6. 可直接对任意区域进行截图,并保存为bmp(24位色) 7. 可获取某范围的RGB和HSV颜色均值 8. 支持图片透明色 9. 支持多图查找 10. 支持直接获取图像数组,方便二次开发 11. 支持多点找色 键鼠方面 1. 所有键鼠接口都支持windows消息模拟,dx以及前台 2. 前台完全模拟,功能和按键自带的完全一样 3. 后台windows消息模拟(类似于按键自带的后台键鼠) 4. dx键盘几乎支持所有游戏后台组合键.(首创) 5. 后台dx (首创,支持大型的3D以及2D游戏键鼠的模拟) 后台方面 1. 两个函数,搞定前后台的切换,非常简单快捷. 窗口方面 1. 支持任意绘制的信息提示窗口,可以随着游戏窗口的移动而移动 2. 信息提示窗口可以鼠标拖动,更加方便快捷 3. 支持获取通过正常手段获取不到的窗口句柄,比如QQ系列游戏 4. 支持枚举窗口 5. 支持获取窗口各种状态 6. 支持对窗口进行各种操作,关闭,最小化等等 内存方面 1. 支持CE格式的内存读取 2. 支持各种数据类型的搜索,以及多次搜索(类似CE) 3. 强力内存接口,按键自带的读不到,可以试试这个 4. 强力的内存写接口(简单游版本不支持) 汇编方面(简单游版本不支持) 1. 支持MASM语法的汇编语句,支持本进程以及目标进程的汇编代码嵌入执行(俗语Call) 2. 支持机器码和MASM语句的互转 答题器 1. 支持前后台的截图发送到服务端 2. 支持前后台的截取动画发送到服务端
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

入门->放弃

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

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

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

打赏作者

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

抵扣说明:

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

余额充值