Visual Studio 2017,C++MFC免注册调用大漠插件教程,详细版
Visual Studio 2017,C MFC免注册调用大漠插件图文教程,详细版
前言
提示:这里可以添加本文要记录的大概内容:
有很多人都在问C MFC怎么免注册调用?其实这些都有参考但是对于新手来说,编译器对新手的不友好,很多编程新手就算是找到别人的注册方法也分析运行不了,这是为什么呢?这是出教程的人根本就没考虑到新手,很多细节问题留下来了,然后你哪里就报错,代码报红,就编译不通过,然后你就觉得这个方法不行,然后就放弃了,今天我们就来解决这个问题,用最详细的图文来告诉你跟着我的步骤来你就能C MFC免注册调用大漠插件
一、大漠插件是什么?
示例:大漠插件 是基于C 封装 的一种找图找色的函数和工具,用了免注册调用就不会在系统上留下痕迹。
二、免注册步骤
1.打开VS2017,新建MFC应用程序,下一步,基于对话框,完成
2.删除掉界面上的组件,添加个按钮,生成一下
3.自己的项目,属性, 打开类向导,添加类,类型库中的MFC类,文件,位置,里面添加dm.dll
4.选中Idmsoft 点右边箭头移动过去然后点完成
5.确认,然后发现自动生成了大漠头文件
6.双击打开头文件修改成 #import “dm.dll” no_namespace
7.然后把之前选的大漠DLL复制到源文件目录下
8.还有复制一份到生成的EXE下面
9.接着双击按钮进入函数
10.在控件事件上面加这些代码
#include "Cdmsoft.h"
Idmsoft * InitNewDm()
{
Idmsoft*m_dm = NULL;
//COleVariant temp1,temp2;
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 false;
}
pcf->Release();
m_bInit = true;
}
else
m_bInit = false;
return m_dm;
}
11.然后再控件事件里面加上调用代码
Idmsoft *dm = InitNewDm();
CString c= dm->Ver();
MessageBoxW(c);
此处为调用代码:
12.生成代码,调试免注册大漠插件成功了
完结
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhiecfbe
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
excel图片置于文字下方的方法
PHP中文网 06-27 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
微信提示登录环境异常是什么意思原因
PHP中文网 04-09 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22 -
微信人名旁边有个图标有什么用
PHP中文网 03-11