dll注入的一种方式

来源:互联网 发布:程序员面试宝典第四版 编辑:程序博客网 时间:2024/06/02 20:26

一下是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什么东西!!!!!

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 2岁宝宝小腿弯怎么办啊 一岁宝宝小腿弯怎么办 一岁小儿o型腿怎么办 两岁宝宝o型腿怎么办 狗狗前腿外八字怎么办 20岁走路内八字怎么办 9岁儿童脚内八字怎么办 5岁宝宝脚内八字怎么办 一岁宝宝内八字怎么办 两人八字合不合怎么办 考到不好的大学怎么办 考的大学不理想怎么办 只考上二本大学怎么办 w7电脑中病毒了怎么办 电脑中病毒了该怎么办 泰迪呼吸急促怎么办啊 狗狗呼吸急促是怎么办 狗狗着凉了呕吐怎么办 狗鼻子流黄鼻涕怎么办 刚出生婴儿睡觉不踏实怎么办 有人溺水后你该怎么办 借钱不还怎么办没欠条 私人欠货款不还怎么办 公司欠货款不还怎么办 两个人离婚一方不同意怎么办 比亚迪l3油耗高怎么办 u盘密码忘记了怎么办 主板没有m.2接口怎么办 点痣留下了疤怎么办 危险三角区长痘痘怎么办 挤了危险三角区怎么办 三角区长痘挤了怎么办 三角区发红长痘怎么办 激光祛斑碰水了怎么办 激光打痣留下坑怎么办 点痣之后留下坑怎么办 去痣留下的红印怎么办 激光点痦子留疤怎么办 激光点痣的疤痕怎么办 做完眉毛碰水了怎么办 脸上疤掉了有坑怎么办