Visual C++免注册调用大漠插件

1、 注册调用

一、下载大漠插件,并注册到系统
下载地址:https://pan.baidu.com/s/1nCc5jB4izcp_I2J6JLqEKA
提取码:tf1f

二、创建一个空项目
添加main.cppmain.h,导入插件中的obj.cppobj.h文件
三、修改obj.cpp中引入的头文件
#include "stdafx.h"去除
#include "main.h要放前面"
在这里插入图片描述

三、更改运行库为“多线程(/MT)”
在这里插入图片描述

四、main.h

#ifndef MAIN_H
#define MAIN_H

#include <afx.h>
#include <afxwin.h>
#include <afxext.h>
#include <atlbase.h>
#include <atlstr.h>
#include <afxdtctl.h>
#include <afxcmn.h>
#include <afxdisp.h>
#include "obj.h"

#endif

五、main.cpp

#include "main.h"
#include "obj.h"
#include <iostream>

using namespace std;



int main()
{
	

	CoInitializeEx(NULL, 0);//初始化
	AfxWinInit(GetModuleHandle(NULL), NULL, GetCommandLine(), 0);
	dmsoft* pDm = new dmsoft;
	pDm->MoveTo(0, 0);	
	pDm->RunApp(L"notepad", 1);
	pDm->delay(3000);
	pDm->KeyPressStr(L"123456789011", 20);
	wcout << (LPCTSTR)(pDm->Ver())<< endl;
	
	return 0;

}

2、免注册调用

一、创建一个空项目
在这里插入图片描述
在这里插入图片描述
二、添加main.cpp

#include <iostream>
#import "dm.dll" no_namespace

int main()
{
	return 0;
}

三、添加dm.dll
在这里插入图片描述
四、生成解决方案
在这里插入图片描述
五、编译成功后会生成dm.tlhdm.tli文件
在这里插入图片描述
六、修改dm.tlh

修改前
在这里插入图片描述
修改后
在这里插入图片描述
七、main.cpp

#include <iostream>
//#import "dm.dll" no_namespace
#include "Debug\dm.tlh"
using namespace std;

Idmsoft* GetDmObject()
{
	Idmsoft* m_dm = NULL;
	bool m_bInit = false;
	//直接加载dll创建对象,避免进行注册文件
	typedef HRESULT(_stdcall* pfnGCO)(REFCLSID, REFIID, void**);
	pfnGCO fnGCO = NULL;
	HINSTANCE hdllInst = LoadLibrary(L"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()
{
	Idmsoft* pDm = GetDmObject();
	cout << pDm->Ver() << endl;
	//dm->Reg(L"注册码", L"dass");//收费版本需要注册后才能使用
	/*6.1538版本修改内存可直接调用*/
	DWORD pid = GetCurrentProcessId();
	int handle = (int)GetModuleHandle(L"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);
	/*调用大漠插件内函数*/
	pDm->MoveTo(0, 0);
	pDm->delay(3000);	
	pDm->KeyPressStr("1234567890", 10);

	return 0;
}
  • 14
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
### 回答1: VS2017是Visual Studio 2017的缩写,它是一款由微软开发的集成开发环境软件。而"注册调用大漠3.1233"涉及到使用VS2017调用某个叫做大漠插件(版本号为3.1233)时,如何进行注册操作。 首先,要想在VS2017中调用大漠插件,我们需要确保已经安装了大漠插件相关的开发环境。这可以在大漠官方网站上找到相应的下载安装包并进行安装。 接下来,在VS2017中打开我们要进行开发的项目。在项目中找到需要调用大漠插件的相关代码文件。 在代码文件中,我们需要添加大漠插件的引用。这可以通过在代码文件中添加以下语句来实现:`using damo;`。其中`damo`是大漠插件的命名空间。 然后,在代码中找到需要调用大漠插件的地方,通过使用`damo`命名空间中的相关类和方法来实现调用。具体的调用方式和方法会根据大漠插件提供的API进行相应的调整。 最后,进行编译和运行操作,以验证是否成功地调用大漠插件。 至于"注册"的操作,通常是指在调用第三方插件时不需要进行繁琐的注册操作。一般情况下,插件的注册是指在使用插件前需要通过一定的方式来注册插件的相关信息,以使其能够在开发环境中正常使用。如果大漠插件在VS2017中可以通过添加引用方式来调用,那么大概率就是无需进行繁琐的注册操作,去了开发者的一些烦恼。当然,具体是否需要注册还是需要根据大漠插件的官方文档或相关资料来确定。 ### 回答2: 在VS2017中注册调用大漠3.1233可以通过以下步骤进行: 1. 首先,确保已经下载并安装了大漠插件,版本为3.1233。可以从大漠官方网站上进行下载。 2. 在VS2017中创建一个新的工程或打开一个已有的工程。 3. 在工程中添加对大漠插件的引用。右键点击工程名称,选择“属性”选项。 4. 在属性窗口中,选择“常规”选项卡。找到“公共语言运行时支持”选项,并将其设置为“/clr”。 5. 在属性窗口中,选择“链接器”选项卡。找到“输入”选项,在“附加依赖项”中添加大漠插件的文件名。 6. 在代码中引入大漠插件的命名空间。可以使用"using"关键字引入命名空间,例如 "using 大漠插件名称"。 7. 通过调用大漠插件的方法来实现你所需要的功能。根据大漠插件的文档或示例代码,使用合适的方法进行调用。 8. 在调用大漠插件之前,确保大漠插件已被正确初始化。可以使用大漠插件的初始化方法来完成初始化。 9. 编译并运行你的工程,确保大漠插件能够正确被调用。 以上是在VS2017中注册调用大漠3.1233的大致步骤。具体操作还需根据你的项目需求和大漠插件的使用方式进行调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值