DLL基础
(一) 相关名词
简写 | 全称 |
---|---|
DLL | Dynamic Link Library |
PE | Portable Executable |
COM | Component Object Model |
COFF | Common Object File Format |
DLL
动态链接库 ,PE
源于Unix COFF文件。
(二) 调用DLL文件
在powershell
查看可执行后缀名
$env:PATHEXT
#.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.CPL
dll不能直接运行,用rundll32
和 regsvr32
调用dll中的函数
rundll32 shell32.dll,Control_RunDLL #控制面板
rundll32 CreatDLL,ShowDlg
regsvr32 /s regsvr32 /s CreatDLL.dll
regsvr32 /u /s CreatDLL.dll
系统中的dll文件
Kernel32.dll #包含用于管理内存\进程和线程的各个函数
User32.dll #包含用于执行用户界面任务(如窗口的创建和消息的传送)的各个函数
GDI32.dll #包含用于画图和显示文本的各个函数
ComDlg32.dll #包含常用对话框(如File Open和File Save)
ComCtl32.dll #支持所有的常用窗口控件
(三) VC++ DLL编程基础
- 环境:
VC++ 6.0/Visual Studio
这里只介绍Non-MFC DLL
,导出函数为标准的C接口,能被一般程序所调用
- 用VC++6.0新建
Win32 Dynamic-Link Library
工程,项目名称PrintDll
,添加C++源文件PrintDll.cpp
,内容如下: