22.2 DLL的创建与使用实例
本节在第一节的基础上,讲述Win32 DLL的创建方法和使用实例。列举了如何通过使用DLL获取其中的位图资源、替换程序中使用的对话框和屏蔽Power键和Win键,以及禁止使用键等。
22.2.1 Win32 DLL的创建
在VC 6.0中创建Win32 DLL步骤如下:
(1)选择File | New命令,弹出New对话框,选择Projects选项卡,如图22-2所示。
|
| (点击查看大图)图22-2 创建Win32 DLL的第一步 |
(2)在Project Name文本框和Location文本框中写入相应的值,并选择Win 32 Dynamic Link-Library图标,单击OK按钮,弹出Win32 Dynamic-Link Library-Step 1 of 1对话框,如图22-3所示。
(3)选择为项目提供的文件支持,并单击Finish按钮,弹出New Project Information对话框,如图22-4所示。
|
| (点击查看大图)图22-3 创建Win32 DLL的第二步 |
|
| 图22-4 创建Win32 DLL的第三步 |
(4)单击OK按钮,这样就成功地创建了一个Win32 DLL。
在创建了DLL后,就需要将要执行的内容加入到DLL中。具体步骤如下。
(1)像前面讲的为工程添加文件一样,为DLL工程添加源代码文件。选择Project|Add to Project|Files命令,在弹出的Insert Files into Project对话框中选择要加入的源代码文件。
(2)加入函数名为DllMain的函数,并在此函数中为DLL增加初始化和终止代码。在本例中,因为选择了A DLL that export some symbols的DLL类型,系统自动增加了此函数的定义。
(3)确保使用__declspec(dllexport)关键字或DEF文件导出DLL的入口点。
(4)增加一个包含使用DLL函数定义的头文件。此头文件应该包含要用的函数的声明。当此头文件被DLL编译时,使用__declspec(dllexport)关键字从DLL中导出。当此头文件被使用DLL的应用程序编译时,则需要使用__declspec(dllimport)关键字从DLL中导入。
(5)如果DLL使用__declspec(dllexport)或DEF文件,系统会自动创建一个对应的导入库。当/IMPLIB链接开关打开编译DLL时,应用程序需要导入库进行链接。
(6)构建DLL。至此一个完整的DLL创建完成。