VC++调用大漠插件的方法

转载自:http://www.cnblogs.com/wxl2578/p/3567882.html


个人在测试时,VS2010导入类,不能正常使用。求解~~

测试环境:Win7 64位 + VC 6.0  

最近玩一款网页游戏,想着自己做个模拟辅助用用,于是下载了一个大漠插件,但是各种注册就是不成功,通过查阅网上各位前辈的资料,终于将问题解决,现将方法分享给大家,如有什么不正确的地方还请大家指正。

注意的几点:

1、大漠插件必须要注册之后才能使用。

2、注册时要保证dm.dll,在你要注册的路径下。

3、使用大漠函数时,要加上dm.h头文件

 

首先,大漠的DLL,不是普通的DLL,它是一个Active x插件,必需要注册之后才能使用,注册是否成功可以用dm.GetBasePath() 函数看看能否获得正确的路径,获取不到表示注册不成功。

1、建立一个MFC对话框工程,默认完成就行。

我们给对话框添加两个按钮

双击两个对话框添加按钮的响应函数,然后按下快捷键Ctrl + W,打开类向导如图

在右上角的添加类中选择第二项,添加我们下载的dm.dll,然后出来如下图的添加类向导,OK就可以了

这时候在VC的类视图列表中就多了一个Idmsoft类

这个类的源文件就是dm.h dm.cpp,我们可以看到大漠插件提供的接口函数就在这里定义实现的,所以如果我们要在别的源文件中使用这些函数,别忘了包含dm.h头文件。

 

2、接着我们就来注册大漠插件dm.dll

首先我们自定义一个注册DLL的函数,该函数最好写成Dlg类的成员函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
BOOL  RegistryDll(CString& szDllPath)  
{  
     
     LRESULT  (CALLBACK* lpDllEntryPoint)();   
     HINSTANCE  hLib =LoadLibrary(szDllPath);  
     if  (hLib < ( HINSTANCE )HINSTANCE_ERROR) 
     {
         return  FALSE;   
     }
     (FARPROC&)lpDllEntryPoint = GetProcAddress(hLib, "DllRegisterServer" );   
     BOOL  bRet = FALSE;  
     if  (lpDllEntryPoint != NULL)  
     {  
         HRESULT  hr = (*lpDllEntryPoint)();  
         bRet = SUCCEEDED(hr);  
         if  (FAILED(hr))  
         {  
             AfxMessageBox( "×¢²áʧ°Ü" );
         }  
     }  
     FreeLibrary(hLib);  
     return  bRet;  
}

然后注册按钮中实现方式如下:

//注册
void CMFC_Dlg::OnBtnRegist() 

 CString strFilePath;
 char strBuff[256];
 GetCurrentDirectory(256,strBuff); 
 strFilePath.Format("%s\\dm.dll",strBuff);
 RegistryDll(strFilePath); 
}

这样大漠插件就注册完毕了,在测试按钮中我们可以调用它测试一下

3、测试按钮中代码如下:

测试之前一定要保证工程目录中有dm.dll  放到dm.h和dm.cpp所在的目录,当然这取决于你注册时的路径。

void CMFC_Dlg::OnBtnTest()

{

   Idmsoft dm;  ::CoInitialize(NULL);//初始化线程com库

   dm.CreateDispatch("dm.dmsoft");

   CString strPath = dm.GetBasePath();//获取注册到系统中的dm.dll的路径

      AfxMessageBox(strPath); 

}

这样运行起来的结果就是这样,某数字公司会检测到你的注册

 

测试结果如下图:

 


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值