论文部分内容阅读
第一篇:什么是DLL文件?
DLL是Dynamic Link Library(动态链接库)的缩写,它本身并不是一个程序,而是由多个功能函数构成的。所谓“动态”,简单地讲,就是只有在程序需要调用时才会加载DLL文件中的内容,而不用随EXE文件一起驻留在内存,减少了系统资源占用。
微软网站上对于DLL文件的介绍:http://support.microsoft.com/?scid=kb;zh-cn;815065。
系统中有那么多DLL文件,怎么知道某个文件是做什么用的呢?打开网址http://support.microsoft.com/dllhelp/,进入微软网站的DLL帮助页面,在这里可以查询系统中DLL文件的相关信息。
第二篇:关于DLL文件的小技巧
1. 删除无用的DLL文件
有些DLL文件已经没有用处,却还占据系统文件夹,我们可以将其删除。打开注册表编辑器,找到[HKEY_LOCAL_ MACHINE\Software\Microsoft\ Windows\CurrentVersion\SharedDLLs]子键,在右侧窗格的“数据”栏中即可看到DLL文件的使用情况。如果数据为0,则表示无程序使用它。记下数据为0的DLL文件名称,然后通过Windows搜索功能找到它们,并将其移动备份到到其他目录,运行系统一段时间,确认没有问题后就能将它们删除了。
2. 强制从内存卸载DLL文件
DLL文件会在需要时被程序调入内存,但由于某些软件的设计缺陷,在软件退出时,却忘记把已经没有使用的DLL文件从内存中清除,造成资源浪费。通过修改注册表可以解决这个问题。打开注册表编辑器,找到[HKEY_LOCAL_MACHINE\ Software\Microsoft\Windows\ CurrentVersion\ Explorer]子键,在右侧窗格中新建名为“AlwaysUnloadDLL”的字符串值,并将其值设为1。
第三篇:用Rundll.exe让DLL文件运行起来
Rundll.exe的作用是运行那些不能作为程序单独运行的DLL文件,而Rundll32.exe则是它的32位版本。
无论是Rundll32.exe或Rundll.exe,独立运行都是毫无作用的,要在程序后面指定加载DLL文件。在Windows的任务管理器中,我们只能看到Rundll32.exe进程,而其实质是调用的DLL。手动使用Rundll32.exe调用DLL文件的命令格式为:Rundll32.exe DLL文件名, DLL入口。比如,在“开始→运行”中输入命令“Rundll32.exe shell32.dll, Control_Rundll”,即可快速打开控制面板。
我们可以用Dependency Walker这款小软件查看某个DLL文件所包含的函数。在http://www.onlinedown.net/soft/38554.htm下载Dependency Walker,解压后直接运行,打开shell32.dll文件,即可在窗口中看到此DLL文件所包含的各项内容了。这些函数的作用一般可以从字面上得知,例如序号为59的RestartDialog函数,从字面上理解作用应该是重启对话框。组合成一个命令,就是“Rundll32.exe shell32.dll, RestartDialog”,运行后可以看到熟悉的Windows重启对话框。要注意的是,函数名是区分大小写的,在运行时一定要正确输入,否则会出错。
第四篇:用regsvr32注册DLL
很多系统错误是因为DLL文件没有注册造成的。Regsvr32是Windows中控件文件(DLL文件即属此类,此外还有OCX、CPL等文件)的注册和反注册工具,利用它可以快速解决很多常见问题。
regsvr32的命令形式为:regsvr32 [参数] xxx.dll。对普通用户最有用的参数是“/u”。要注册某个DLL文件,就在“开始→运行”中输入“regsvr32 xxx.dll”。而要反注册它,则输入“regsvr32 /u xxx.dll”。比如在Windows XP中,在“开始→运行”中输入“regsvr32 %windir%\system32\zipfldr.dll /u”,可以卸载系统自带的压缩功能。
Regsvr32应用进阶:
1. 一次注册或卸载多个DLL文件
要一次注册或卸载多个DLL文件,可采用批处理的方法来实现,不过注意加上“/s”参数(不显示注册成功对话框),如将a.dll、b.dll拷贝到系统文件夹的system32目录后,用记事本编辑如下内容:
regsvr32 /s a.dll
regsvr32 /s b.dll
将其保存为.bat 文件,运行后即可同时注册这两个DLL文件。
2. 一次注册系统中所有DLL文件
面对众多的由DLL文件引起的错误,如果不知道究竟谁是罪魁祸首又该怎么办呢?这时我们不妨把system32目录下所有的DLL文件全部注册一下。在“开始→运行”中输入“cmd”后回车,在“命令提示符”中输入如下命令即可:
for %1 in (%WinDir%\SYSTEM32\*.DLL) DO RegSvr32.EXE /s %1
为了便于使用,可以在记事本中输入该命令并将其保存为.bat批处理文件。以后再遇到一些由DLL文件引起的问题,双击运行它就可以了。
DLL是Dynamic Link Library(动态链接库)的缩写,它本身并不是一个程序,而是由多个功能函数构成的。所谓“动态”,简单地讲,就是只有在程序需要调用时才会加载DLL文件中的内容,而不用随EXE文件一起驻留在内存,减少了系统资源占用。
微软网站上对于DLL文件的介绍:http://support.microsoft.com/?scid=kb;zh-cn;815065。
系统中有那么多DLL文件,怎么知道某个文件是做什么用的呢?打开网址http://support.microsoft.com/dllhelp/,进入微软网站的DLL帮助页面,在这里可以查询系统中DLL文件的相关信息。
第二篇:关于DLL文件的小技巧
1. 删除无用的DLL文件
有些DLL文件已经没有用处,却还占据系统文件夹,我们可以将其删除。打开注册表编辑器,找到[HKEY_LOCAL_ MACHINE\Software\Microsoft\ Windows\CurrentVersion\SharedDLLs]子键,在右侧窗格的“数据”栏中即可看到DLL文件的使用情况。如果数据为0,则表示无程序使用它。记下数据为0的DLL文件名称,然后通过Windows搜索功能找到它们,并将其移动备份到到其他目录,运行系统一段时间,确认没有问题后就能将它们删除了。
2. 强制从内存卸载DLL文件
DLL文件会在需要时被程序调入内存,但由于某些软件的设计缺陷,在软件退出时,却忘记把已经没有使用的DLL文件从内存中清除,造成资源浪费。通过修改注册表可以解决这个问题。打开注册表编辑器,找到[HKEY_LOCAL_MACHINE\ Software\Microsoft\Windows\ CurrentVersion\ Explorer]子键,在右侧窗格中新建名为“AlwaysUnloadDLL”的字符串值,并将其值设为1。
第三篇:用Rundll.exe让DLL文件运行起来
Rundll.exe的作用是运行那些不能作为程序单独运行的DLL文件,而Rundll32.exe则是它的32位版本。
无论是Rundll32.exe或Rundll.exe,独立运行都是毫无作用的,要在程序后面指定加载DLL文件。在Windows的任务管理器中,我们只能看到Rundll32.exe进程,而其实质是调用的DLL。手动使用Rundll32.exe调用DLL文件的命令格式为:Rundll32.exe DLL文件名, DLL入口。比如,在“开始→运行”中输入命令“Rundll32.exe shell32.dll, Control_Rundll”,即可快速打开控制面板。
我们可以用Dependency Walker这款小软件查看某个DLL文件所包含的函数。在http://www.onlinedown.net/soft/38554.htm下载Dependency Walker,解压后直接运行,打开shell32.dll文件,即可在窗口中看到此DLL文件所包含的各项内容了。这些函数的作用一般可以从字面上得知,例如序号为59的RestartDialog函数,从字面上理解作用应该是重启对话框。组合成一个命令,就是“Rundll32.exe shell32.dll, RestartDialog”,运行后可以看到熟悉的Windows重启对话框。要注意的是,函数名是区分大小写的,在运行时一定要正确输入,否则会出错。
第四篇:用regsvr32注册DLL
很多系统错误是因为DLL文件没有注册造成的。Regsvr32是Windows中控件文件(DLL文件即属此类,此外还有OCX、CPL等文件)的注册和反注册工具,利用它可以快速解决很多常见问题。
regsvr32的命令形式为:regsvr32 [参数] xxx.dll。对普通用户最有用的参数是“/u”。要注册某个DLL文件,就在“开始→运行”中输入“regsvr32 xxx.dll”。而要反注册它,则输入“regsvr32 /u xxx.dll”。比如在Windows XP中,在“开始→运行”中输入“regsvr32 %windir%\system32\zipfldr.dll /u”,可以卸载系统自带的压缩功能。
Regsvr32应用进阶:
1. 一次注册或卸载多个DLL文件
要一次注册或卸载多个DLL文件,可采用批处理的方法来实现,不过注意加上“/s”参数(不显示注册成功对话框),如将a.dll、b.dll拷贝到系统文件夹的system32目录后,用记事本编辑如下内容:
regsvr32 /s a.dll
regsvr32 /s b.dll
将其保存为.bat 文件,运行后即可同时注册这两个DLL文件。
2. 一次注册系统中所有DLL文件
面对众多的由DLL文件引起的错误,如果不知道究竟谁是罪魁祸首又该怎么办呢?这时我们不妨把system32目录下所有的DLL文件全部注册一下。在“开始→运行”中输入“cmd”后回车,在“命令提示符”中输入如下命令即可:
for %1 in (%WinDir%\SYSTEM32\*.DLL) DO RegSvr32.EXE /s %1
为了便于使用,可以在记事本中输入该命令并将其保存为.bat批处理文件。以后再遇到一些由DLL文件引起的问题,双击运行它就可以了。