dm.dll注册(大漠插件注册)
环境:vs2005 windows07 如果发现程序无法运行,需要安装vc插件,自行百度。
具体步骤如下
1.在网上获取dm.dll 然后还有大漠的.chm帮助文件
2.新建MFC对话框程序
3.添加MFC类
添加插件
这样我们就生成了一个类 Cdmsoft 包装类
4.添加的代码如下:
对话框初始化的代码
BOOL CtestDlg::OnInitDialog()
{CDialog::OnInitDialog();// 将“关于...”菜单项添加到系统菜单中。// IDM_ABOUTBOX 必须在系统命令范围内。ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX < 0xF000);CMenu* pSysMenu = GetSystemMenu(FALSE);if (pSysMenu != NULL){CString strAboutMenu;strAboutMenu.LoadString(IDS_ABOUTBOX);if (!strAboutMenu.IsEmpty()){pSysMenu->AppendMenu(MF_SEPARATOR);pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);}}// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动// 执行此操作SetIcon(m_hIcon, TRUE); // 设置大图标SetIcon(m_hIcon, FALSE); // 设置小图标// 此处为开始初始化的代码CString strExePath = GetExePath()+_T("\\dm.dll");char strBuff[256];CoInitialize(NULL);RegistryDll(strExePath);dm.CreateDispatch("dm.dmsoft");return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}
对话框初始化需要用到的函数 ,获取exe路径
CString CtestDlg::GetExePath()
{char pathbuf[260];int pathlen = ::GetModuleFileNameA(NULL,pathbuf,260);// 替换掉单杠while(TRUE){if(pathbuf[pathlen--]=='\\')break;}pathbuf[++pathlen]= 0x0;CString fname = pathbuf;return fname;
}
注册dll,函数
BOOL RegistryDll(CString& szDllPath)
{ LRESULT (CALLBACK* lpDllEntryPoint)(); HINSTANCE hLib =LoadLibrary(szDllPath); if (hLib < (HINSTANCE)HINSTANCE_ERROR) {// AfxMessageBox(szDllPath);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;
}
头文件
// testDlg.h : 头文件
//#pragma once#include "Cdmsoft.h"
// CtestDlg 对话框
class CtestDlg : public CDialog
{
// 构造
public:CtestDlg(CWnd* pParent = NULL); // 标准构造函数// 对话框数据enum { IDD = IDD_TEST_DIALOG };protected:virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持// 实现
protected:HICON m_hIcon;// 生成的消息映射函数virtual BOOL OnInitDialog();afx_msg void OnSysCommand(UINT nID, LPARAM lParam);afx_msg void OnPaint();afx_msg HCURSOR OnQueryDragIcon();DECLARE_MESSAGE_MAP()
public:afx_msg void OnBnClickedOk();afx_msg void OnBnClickedCancel();CString GetExePath();Cdmsoft dm;
};
测试代码
void CtestDlg::OnBnClickedOk()
{dm.MoveTo(120,120);
}void CtestDlg::OnBnClickedCancel()
{exit(0);
}
如果鼠标移动到了 120,120的坐标了,说明大漠插件成功了
dm.dll注册(大漠插件注册)相关推荐
- 详解易语言调用大漠插件注册vip的三种方法
详解易语言调用大漠插件注册vip的三种方法 1.将大漠插件所有命令封装成易语言类模块.(类模块调用法) 2.将大漠插件所有命令封装成Ec模块(EC模块调用法) 3.将大漠插件所有命令封装成易语言支持库 ...
- c++免注册大漠插件
论坛中可能有朋友在用VS2010编写软件,所以我在此把VS2010如何调用大漠插件的详细步骤说一下,便于和我一样用VS编程的朋友使用. 第一步: 首先建立一个基于对话框的MFC应用程序,然后依次点击项 ...
- python免注册大漠插件
必须32位python dll = ctypes.windll.LoadLibrary(cls.path + r'\DmReg.dll') # 加载大漠免注册dll dll.SetDllPathW(c ...
- 易语言怎么注册大漠插件
1.把dm.dll注册到易-语-言中,点击工具>类型库或者ocx>注册类库>下一步>保存. 2.点击工具>支持库配置>全选>确定 如果还是不懂的,还提 ...
- 按键精灵通过句柄获取窗口坐标_大漠插件后台找图、自动获取坐标窗口句柄鼠标多点左单击脚本...
大漠插件后台找图.自动获取坐标窗口句柄鼠标多点左单击 脚本 一.准备工作 第一步:下载大漠插件.解压,运行"注册大漠插件到系统.bat",把全部东东都复制到按键精灵的plugin目 ...
- Visual Studio 2017,C++MFC免注册调用大漠插件图文教程,详细版
Visual Studio 2017,C++MFC免注册调用大漠插件图文教程,详细版 前言 提示:这里可以添加本文要记录的大概内容: 有很多人都在问C++MFC怎么免注册调用?其实这些都有参考但是对于 ...
- 免注册调用大漠插件,COM组件免注册调用
这是调用大漠插件的一个例子.实现com组件不注册调用 using System; using System.Collections.Generic; using System.Linq; using ...
- 按键精灵两种方法对大漠进行注册regsvr32
大漠注册 时调用大漠插件的第一步,下面介绍两种注册方法 //方法1 // 判断大漠插件是否注册到系统 Function IsRegDM(sVer)Dim TmpObjSet TmpObj = Crea ...
- 按键精灵 大沙漠插件注册
//释放"附件"中自己添加的文件到D:\dm目录中,释放Regdll.dll到plugin目录中 PutAttachment "D:\dm", "*. ...
最新文章
- ECS 实例网络带宽
- jquery和原生js-ajax
- APUE和UNP怎么学?
- Delphi:程序自己删除自己,适用于任何windows版本(含源码)
- 用模版实现简单的内存池
- Molile App(HTTP/HTML)—Record and Analyze Traffic
- CentOS增加用户到sudo用户组
- [转]asp 没有权限: 'CreateObject'的解决方法
- webview加载百度失败_独家|神秘SDK暗刷百度广告 植入数千款APP
- 三星c7 linux驱动,三星c7驱动|三星c7手机驱动下载 v1.5.55.0 官方版 - 比克尔下载
- PDF软件有这么好用的打印机,你知道吗?
- 【CAD技巧】120个常见CAD问题解决办法
- 深信服安服实习生面试心得
- 【百度地图】百度地图完全模仿链家找房,三级下钻联动聚合,画圈找房!
- ical4j 实现ICS文件的生成和解析
- css 恢复ulli_CSS Ul(列表样式)
- 阿里云服务器硬盘不够用怎么办?
- Java集成Sap/Erp产生的sapjco包重命名/rename问题及解决方案
- TortoiseSVN的所有使用
- 谷粒商城--后端笔记(混乱)