📜  DLL-注册(1)

📅  最后修改于: 2023-12-03 15:00:28.020000             🧑  作者: Mango

DLL-注册

DLL(动态链接库)是Windows系统中的一种可执行文件。与静态链接库不同,动态链接库在程序运行时才被调用。通过使用动态链接库,可避免代码重复、优化内存占用,提高代码模块化程度。

在使用DLL时,需要进行注册。本文将介绍如何进行DLL的注册。

DLL注册表

在Windows系统中,使用注册表(Registry)进行DLL的注册。注册表是一个关键的系统组件,用于存储操作系统和多个应用程序的配置信息。所有Windows系统配置信息、应用程序、设备驱动程序的信息都存储在注册表中。

在注册表中,有两个主要目录用于存储DLL注册信息:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths

其中,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs存储的是DLL的共享信息。共享DLL是指在系统中可能被多个应用程序共同使用的DLL,这些DLL的路径信息存储在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs目录下。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths则用于存储应用程序的路径信息。在此目录下,可以指定应用程序的路径,同时也可以指定应用程序所依赖的DLL的路径信息。

DLL的注册与注销
注册DLL

要注册DLL,需要使用Windows系统提供的regsvr32.exe工具。regsvr32.exe是Windows系统的一部分,可以用于注册和注销DLL。以下是注册DLL的示例:

regsvr32.exe DLL_Path

其中,DLL_Path是要注册的DLL文件所在的路径。

注销DLL

要注销DLL,同样需要使用regsvr32.exe工具。以下是注销DLL的示例:

regsvr32.exe /u DLL_Path

其中,/u参数表示注销DLL。DLL_Path是要注销的DLL文件所在的路径。

注册参考

在进行DLL的注册时,有一些需要注意的事项:

  • 只有管理员权限的用户才能注册DLL。
  • 在使用regsvr32.exe时,需要在命令行中使用绝对路径。
  • 注册DLL时,Windows系统会检查DLL导出函数表中的函数是否存在。如果没有正确导出函数表,会导致注册失败。
  • 注册DLL时,应关闭所有的应用程序,以免影响注册结果。

上述内容是DLL注册的基本介绍,希望能帮助到开发者们。