第九章 DLL文件 windows程序设计 王艳平版
// 09DllDemo.h文件
#ifdef MY09DLLDEMO_EXPORTS
#define MY09DLLDEMO_API __declspec(dllexport)
#else
#define MY09DLLDEMO_API __declspec(dllimport)
#endif
// 声明要导出的函数
MY09DLLDEMO_API void ExportFunc(LPCTSTR pszContent);
//
// ImportDemo.cpp文件
#include <windows.h>
// 声明函数原形
typedef void (*PFNEXPORTFUNC)(LPCTSTR);
int main(int argc, char* argv[])
{
// 加载DLL库
HMODULE hModule = ::LoadLibrary("..\\09DllDemo\\Debug\\09DllDemo.dll");
if(hModule != NULL)
{
// 取得ExportFunc函数的地址
PFNEXPORTFUNC mExportFunc = (PFNEXPORTFUNC)::GetProcAddress(hModule, "ExportFunc");
if(mExportFunc != NULL)
{
mExportFunc("大家好!");
}
// 卸载DLL库
::FreeLibrary (hModule);
}
return 0;
}
/*
#include <windows.h>
#include "09DllDemo.h"
// 指明要链接到09DllDemo.lib库
#pragma comment(lib, "09DllDemo")
void main()
{
// 像调用本地函数一样调用09DllDemo.dll库的导出函数
ExportFunc("大家好!");
}
*/
第九章 DLL文件 windows程序设计 王艳平版相关推荐
- 第七章 目录监视 windows程序设计王艳平版
// DirDialog.h文件 #ifndef __DIRDIALOG_H_ #define __DIRDIALOG_H_ #include <shlobj.h> class CDirD ...
- 第三章 线程局部存储 windows程序设计 王艳平版
/// // 02UseTLS.cpp.cpp文件 /* 动态调TLS的典型步聚: 1,主线程调用TlsAlloc函数为线程局部存储分配索引 DWORD TlsAlloc(void) 返回一个TLS索 ...
- 第七章 对话框1 windows程序设计 王艳平版
/ // FirstDialog.cpp文件 #include <windows.h> #include "resource.h" BOOL __stdcall Dlg ...
- 第七章 控件 windows程序设计王艳平版
/ // PredefineClass.h文件 #define IDC_BUTTON 10 // Button按钮 #define IDC_RADIO 11 // 单选框 #define IDC_CH ...
- 第八章 PE文件 windows程序设计 王艳平版
/// // ValidPE.h文件 #include <afxwin.h> class CMyApp : public CWinApp { public: virtual BOOL In ...
- 第九章 DLL windows程序设计 王艳平版
// 09DllDemo.h文件 MY09DLLDEMO_API void ExportFunc(LPCTSTR pszContent); /// def文件 EXPORTS ExportFunc ...
- 第九章 keyhookdll windows程序设计王艳平版
/// // KeyHookLib.h文件 // 定义函数修饰宏,方便引用本DLL工程的导出函数 #ifdef KEYHOOKLIB_EXPORTS #define KEYHOOKLIB_API __ ...
- 第九章 hook windows程序设计 王艳平版
// 09HookDemo.cpp文件 #include <windows.h> #include <stdio.h> // 挂钩指定模块hMod对MessageBoxA的调用 ...
- 第九章 keyhook windows程序设计王艳平版
/// // MainDir.h文件 // 07MainDir #include <afxwin.h> class CMyApp : public CWinApp { public: BO ...
最新文章
- 升级之后的BCH将推动游戏业更上一层楼
- Linux中grep命令 常用选项
- 【转】关键字过滤算法
- java编写一个程序_计算已知长和宽的长方形的周长,请教一下大佬们,我们java留了一个作业,编写程序,定义一个接口Comput,声明计算周长和面积的方法...
- Go 标准库: path
- 【原创】不用封装jar包 直接引入工程使用的方法(类似android的 is Library功能)...
- webgis从基础到开发实践_webgis@基础GIS 开源资源汇总
- python中else在循环中的使用(一分钟读懂)
- 隐马尔科夫模型(Hidden Markov Models) 系列之四
- 使用TeraTerm自带SSH SCP功能,传送文件
- linux离线语音识别安装运行总结
- Tomcat详解(四)——Tomcat配置详解
- zabbix企业应用之解决大量的nodata报警通知
- DCFEE: A Document-level Chinese Financial Event Extraction System based on Automatically Labeled Tra
- html链接描述,HTML常用文本标记,超级链接和路径描述
- 三菱PLC 串口通信开发心得经验
- 基于matlab和proe的曲面建模,两个基础曲面建模实例教你Proe曲面建模技巧和思路...
- Chrome安装HttpWatch
- 蒙特卡洛方法求定积分
- 董明珠称格力宁可降工资也不裁员;阿里发布财年第四季度及全年财报