dll注入的一种方式
一下是dll文件的制作,在创建dll工程时,选择第一个“空工程”,然后新建两个新文件 分别是xxx.cpp xxx.def
xxx.cpp
xxx.def
这就是xxx.dll的制作过程,简单不?
xxx.cpp
新建一个MFC的对话框程序,其中对话框的主界面是
为+、-按钮生成响应事件 其源代码如下:
void CDll_LoadDlg::OnBtnAdd()
{// TODO: Add your control notification handler code hereHINSTANCE hInst=LoadLibrary("Dll_Create.dll");//显示加载Dll_Create.dlltypedef double (_stdcall *ADDPROC)(double a,double b);//函数名字叫什么都可以,但要保持上下一致ADDPROC Add=(ADDPROC)GetProcAddress(hInst,"add");//从Dll_Create中寻找名叫‘add’的函数,并在此程序中定义为‘Add’if(!Add){MessageBox("获取函数地址失败");return;}UpdateData(TRUE);m_e=Add(m_1,m_2);UpdateData(FALSE);CString str;if(GetDlgItemText(IDC_S,str),str=="-"){SetDlgItemText(IDC_S,"+");}FreeLibrary(hInst);}void CDll_LoadDlg::OnBtnSub()
{// TODO: Add your control notification handler code hereHINSTANCE hInst=LoadLibrary("Dll_Create.dll");typedef double (_stdcall *ADDPROC)(double a,double b);ADDPROC Subtract=(ADDPROC)GetProcAddress(hInst,"subtract");if(!Subtract){MessageBox("获取函数地址失败");return;}UpdateData(TRUE);m_e=Subtract(m_1,m_2);UpdateData(FALSE);CString str;if(GetDlgItemText(IDC_S,str),str=="+"){SetDlgItemText(IDC_S,"-");}FreeLibrary(hInst);
}
就此,对于dll的简单使用就终结了,这个例子最给我最深的感受是不用#include什么东西!!!!!
dll注入的一种方式相关推荐
- c++实现DLL注入的几种方式
经过几天的折腾,找到了几个dll注入的方法,但是不意外的是,都暂时没法注入到LOL中,毕竟有进程保护在那,OpenProcess这一步就直接被拒绝了,提升Debug权限也没用,下面记录一些代码,希望能 ...
- Dagger2 知识梳理(1) Dagger2 依赖注入的两种方式
一.资料推荐 最近这几天一直在看有关Dagger2有关的文章,感觉就是这东西真难用.真难懂,数次想要放弃,还好有网上大神的教程帮助,模模糊糊总算能把基本的几个概念跑通了. 这里首先推荐 牛晓伟 的下面 ...
- 依赖注入的两种方式并附上例子
1.依赖注入:就是指程序在运行过程中,如果需要另外一个对象协助完成时,无需在代码中创建被调用者,而是依赖外部的注入获取. 2.依赖注入的两种方式: 设置注入:设置注入是通过setter方法注入被调用者 ...
- IoC(控制反转)的主要组件和注入的两种方式
一.IoC的主要组件: (1).Spring框架的两个最基本和最重要的包是org.springframework.beans.factory(该包中的主要接口是BeanFactory)和org.spr ...
- Spring属性注入的三种方式(超详细)
属性注入的三种方式 使用set方法进行注入 使用有参构造函数进行注入 使用p名称空间注入 首先了解下面两个名词的含义: IOC:控制反转(Inversion of Control,缩写为IoC),是面 ...
- Spring系列之依赖注入的三种方式
目录 一.依赖注入方式 1.使用属性的setXXX方法注入 2.构造函数注入 (1)按类型匹配入参type (2)按索引匹配入参index (3)联合使用类型和索引匹配入参[type和index一起使 ...
- Spring实现依赖注入的几种方式
Spring实现依赖注入的几种方式 1.基于有参构造实现 <bean id="user" class="com.ccu.twj"><const ...
- 05.bean依赖注入的三种方式
05.bean依赖注入的三种方式 1.概述 依赖注入 DI(Dependency Injection):它是 Spring 框架核心 IOC 的具体实现. 在编写程序时,通过控制反转,把对象的创建交给 ...
- spring依赖注入的4种方式
Spring 依赖注入的4种方式 一.Set注入 必须要有setter方法 public class UserDao {public void test(){System.out.println(&q ...
最新文章
- div+css多浏览器测试方法
- Android技术经理+资深工程师+研发工程师-杭州
- 一个简单的运算表达式解释器例子
- 统计学习:三大奇技(1)
- python现在时间 命令_Python3 - 时间处理与定时任务
- easymodbus_easymodbus4j基于netty的modbus协议快速开发工具
- 企业级Ngnix基于域名的配置_server
- 给用户添加sudo功能
- 控制手机 滑动 蓝牙hid_米家LED灯泡蓝牙Mesh版,助你打造温馨的智能家庭
- python numpy diff_Python numpy.uint16方法代码示例
- 在线教育平台签约电子化:借电子印章提速控本、服务师生
- Android长截屏(滚动截屏)实现原理
- 回归分析什么时候取对数_线性回归模型,哪些变量取对数形式?
- 4款U盘操作系统推荐
- 利用贴图实现的人脸特效
- 晋升PPT这样写,帮你提高晋升概率
- 自己在用的KEIL颜色
- symfony入门学习资料之十六:Symfony框架启动过程介绍
- java socat_Socat虚拟串口无法识别
- 联想rd630服务器无显示,联想RD630服务器用户手册v1.2
热门文章
- c if标签怎么用android,android – 使用NDK将YUV解码为C/C++中的RGB
- linux集群组建和管理,Redis集群搭建与管理
- php 同步退出,Ucenter 的同步登录与同步退出
- css设置按钮竖直方向居中_前端设计师必须知道的10个重要的CSS技巧
- 关于STM32系列单片机中断触发时间问题
- DSB2017第一名代码尝试运行(记录自用)(二)
- 算法应用三:【图像分割】+【边缘检测】canny边缘检测--冈萨雷斯--《数字图像处理》
- java.lang.ExceptionInInitializerError解决办法
- DICOM C-GET vs C-MOVE
- express框架日志处理组件morgan