DLL是什么文件?

经常看到它们.... 经常看到它们. 展开
 我来答
小张聊变美
高粉答主

2019-05-28 · 关注我不会让你失望
知道小有建树答主
回答量:2303
采纳率:100%
帮助的人:69.8万
展开全部

是动态链接库。

动态链接库(英语:Dynamic-link library,缩写为DLL)是微软公司在微软视窗操作系统中实现共享函数库概念的一种实现方式。这些库函数的扩展名是.DLL、.OCX(包含ActiveX控制的库)或者.DRV(旧式的系统驱动程序)。

DLL的文件格式与视窗EXE文件一样——也就是说,等同于32位视窗的可移植执行文件(PE)和16位视窗的New Executable(NE)。作为EXE格式,DLL可以包括源代码、数据和资源的多种组合。

扩展资料

dll的背景

DLL的最初目的是节约应用程序所需的磁盘和内存空间。在一个传统的非共享库中,一部分代码简单地附加到调用的程序上。如果两个程序调用同一个子程序,就会出现两份那段代码。

相反,许多应用共享的代码能够切分到一个DLL中,在硬盘上存为一个文件,在内存中使用一个实例(instance)。DLL的广泛应用使得早期的视窗能够在紧张的内存条件下运行。

DLL提供了如模块化这样的共享库的普通好处。模块化允许仅仅更改几个应用程序共享使用的一个DLL中的代码和数据而不需要更改应用程序自身。

这种模块化的基本形式允许如Microsoft Office、Microsoft Visual Studio、甚至Microsoft Windows自身这样大的应用程序使用较为紧凑的补丁和服务包。

参考资料来源  百度百科-dll

吴田田
推荐于2017-09-07 · 知道合伙人数码行家
吴田田
知道合伙人数码行家
采纳数:160397 获赞数:1930527
长期从事电子电气工作,爱好数码,2005年加入百度知道,已经为上亿网友解答疑问。

向TA提问 私信TA
展开全部
DLL文件

DLL文件即动态链接库文件,是一种可执行文件,它允许程序共享执行特殊任务所必需的代码和其他资源。Windows提供的DLL文件中包含了允许基于Windows的程序在Windows环境下操作的许多函数和资源。

DLL多数情况下是带有DLL扩展名的文件,但也可能是EXE或其他扩展名。它们向运行于Windows操作系统下的程序提供代码、数据或函数。程序可根据DLL文件中的指令打开、启用、查询、禁用和关闭驱动程序。

DLL可在“C:Windows”目录“C:Windows/System”目录和程序的安装目录中找到。如果启动程序,但一个或多个DLL文件丢失或毁坏,则会收到出错消息,如“找不到xyz.dll”。如果启动的程序带有一个过期的DLL文件或不匹配的DLL文件,则会出现“未定义的动态链接调用”消息。这时,你可在其他电脑上找到正确的DLL文件并将它拷贝到适当的目录下,程序就能正确运行。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
岳珉保邈
2019-06-13 · TA获得超过4090个赞
知道大有可为答主
回答量:3221
采纳率:34%
帮助的人:153万
展开全部
一、DLL文件常识
DLL是Dynamic
Link
Library的缩写,意为动态链接库。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可有多个DLL文件,一个DLL文件也可能被几个应用程序所共用,这样的DLL文件被称为共享DLL文件。DLL文件一般被存放在C:WindowsSystem目录下
二、修改DLL文件的具体应用
在系统的组策略和注册表中,我们可以修改一些键值来优化我们的系统,并加强操作系统的安全性。可是,对于限制下载、禁止删除文件等功能,我们无法通过上述的操作来完成,这只有通过修改系统DLL文件来实现。
目前,我们通过修改系统的DLL文件,可以实现禁止删除文件、禁止IE下载、禁止IE另存为、禁止文件打开方式等功能。
三、系统中部分DLL文件的功能
1、Browselc.dll
IE所需要调用的库文件DLL结构雏形就是它了
2、Shdoclc.dll
系统窗口及设置等,如删除文件、重命名
3、Shell32.dll
系统窗口及设置等,如删除文件、重命名
4、Cryptui.dll
IE控件下载及提示对话框程序
四、修改DLL文件的方法
1、下载DLL文件修改工具EXESCOPE6.0
-
6.3或6.4工具
2、获取Browselc.dll、Shdoclc.dll、Shell32.dll和Cryptui.dll这几个链接文件。在找这几个文件时,最好将其他机器的硬盘,挂接在本机中,然后用本机的操作系统启动并复制这几个文件。
3、在修改DLL文件的时候,打开该键值,在右面的对话框中将所要修改的键值禁用即可,不要删除,以备日后恢复(如图)
五、DLL文件修改秘籍
1、禁止下载的修改方法:
打开Shdoclc.dll修改资源--对话框---4416,将4416键值禁用即可。
2、禁止网页添加到收藏夹,打开Shdoclc.dll修改资源--对话框---21400,将该键值禁用即可。
3、禁止恶意网页加载控件,修改Cryptui.dll文件,要同时修改5个地方才能完全禁止
资源--对话框---130
资源--对话框---230
资源--对话框---4101
资源--对话框---4104
资源--对话框---4107
将以各对话框中的相应键值,修改成为禁用就可以了。
4、禁止系统删除文件修改Shell32.dll,这个文件需要修改5个地方才可以禁止系统删除文件。
资源--对话框---1011
资源--对话框---1012
资源--对话框---1013
资源--对话框---1021
资源--对话框---1022
将以上五个地址的键值禁用就可以了!
5、禁止文件被改名,修改shell32.dll,有2个地方需要修改
资源--对话框---1018
资源--对话框---1019
将以上两处的相应键值,修改为禁用就可以了!
6、禁止运行菜单,修改shell32.dll,将资源--对话框---1018键值设置为禁用。
7、禁止系统文件被挪动修改shell32.dll,需要修改4个地方
资源--对话框---1014
资源--对话框---1015
资源--对话框---1016
资源--对话框---1017
8、禁止目标另存为,修改Shdoclc.dll文件,需要修改3个地方
资源--菜单--258---257
资源--菜单--258---252
资源--菜单--24641--2268
在这个修改中,我们要把各对应的键值删除。打开该键值后,右键菜单中有删除。在资源--菜单--24641—2268中,有多项该键值,请逐一删除。
9、禁止自定义文件夹选项修改Shell32.dll文件,需要修改以下4个地方
资源--菜单--215---28719
资源--菜单--216---28719
资源--菜单--217---28719
资源--菜单--216---28719
找到以上四处键值,直接需要删除后即可,而不是禁用。
10、禁止IE文件夹选项,修改Browselc.dll文件,需要修改3个键值
资源--菜单--263
(这里有多个请删除)---41251(删除)
资源--菜单--266(也有多个请删除)---41329
(删除)
资源--菜单--268---41251
(删除)
在上面的3个键值中,个别键值有多处,请逐一删除。
11、禁止98文件共享控件,修改Msshrui.dll,需要修改2个地方
资源---对话框----
1
---
AutoRadioButton
资源---对话框----
30
---
AutoRadioButton
将以上两处的键值禁用即可。其他的选项,可以根据自己的需要进行修改。找到相应的功能键值,将不需要的功能,禁用就可以了。
12、禁止文件的打开方式,修改Url.dll,需要修改2个地方
资源---对话框---
7000
资源---对话框---
7005
将以上两处的键值禁用即可。
13、禁止更改系统桌面,修改Shdoc401.dll,有2处地方需要修改
资源---对话框---
29952---
PushButton:浏览资源---对话框---
29952---
PushButton:图案
将以上两处的键值禁用即可。
14、禁止系统文件夹自定义,修改Shd401lc.dll,有2处地方需要修改
资源---对话框---
29957
资源---对话框---
29958
将以上两处的键值禁用即可。
15、禁止文件保存路径及打开,修改Comdlg32.dll,有2处地方需要修改
资源---对话框---
1547
资源---对话框---
1548
将以上两处的键值禁用即可。
六、注意事项
1、本文以Windows
XP/2000操作系统的DLL文件修改为例,并不一定适用于Windows
98操作系统,请在修改DLL文件时注意。
2、在禁止下载的操作中,除修改禁止下载的链接文件Shdoclc.dll外,还要修改禁止文件另存为的链接文件Shdoclc.dll。如果修改一个链接文件无法实现相应的功能,请查看其他链接文件中是否存在需要修改的键值。
3、修改后的DLL链接文件,需要在DOS模式下导入并重新启动机器才有效。
4、本文章只介绍了我们日常操作中经常用到的DLL修改选项,其他选项请参看DLL文件中的具体选项进行修改。
5、在修改DLL文件前,请先备份系统原有的DLL文件,以备修改失败恢复
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
冷纵麻浩广
2020-01-04 · TA获得超过3855个赞
知道大有可为答主
回答量:3086
采纳率:25%
帮助的人:199万
展开全部
DLL(动态连接库),既然是动态,那么就是有静态连接库,我想如果这么说大家
会更明白:
也许有的人在DOS下编写过程序都明白这么一件事情,我写了一个程序,里面有一
个功能就是把屏幕的内容翻转在转90°打印出来,那么我需要把整个程序写好放
到我的所有代码中,但是如果我写另外一个程序的时候也有相通的功能,我可以
调用以前的程序这个功能吗?当然是不可以的了,所以我就要重新的写一次,如
果有5个需要调用这个功能的程序,我的这个功能函数需要20K的地方,那么我的
硬盘就有80K的垃圾出现(20k*5
-
20k),这仅仅是一个函数,大家是否可以数
清除WINDOWS如果这样来写,需要多少函数吗?你看看所有的按钮、滚动条、
Listbox\Textbox\checkBox\窗体、打印对话框、颜色对话框、打开、保存、另存
、字体对话框、文件的排列、拷贝、粘贴......
这一切的一切是不是都需要在所
有的程序中都要写出来呢?如果真的是这个样子,那么我们的windows应该按TB来
计算了(1TB=1024GB),也许你说你的硬盘很大,那么他们还要在运行的时候占
用相同大下的内容呢!所以发展出来了,动态连接库(dll)这个感念:
动态连接,就是把这些相通的功能、函数都放到一种特殊形式的windwos可执行文
件中(dll),生成一个DLL的时候,程序员需要写出,其中包含那些函数需由其
他程序来访问。这个过程叫做对函数的“导出”
创建windows程序的时候,专门的连接程序对程序的对象文件进行扫描,并生成一
个列表,列出那些调用的函数在那个DLL那个位置,指定各个函数所在位置的过程
叫做对函数的“导入”,当程序运行的时候,一旦要求用到执行文件内部没有的
函数,windows就会自动装载动态连接库,使应用程序可以访问这些函数。此时,
每个函数的地址都会解析出来,并且以动态的方式连接到程序里--这便是术语
“动态连接”的由来。
另外还有一个好处,就是当你更新你的这个函数的版本和功能的时候,静态连接
所需要做的工作是多少(假设按windwos来说他有上千个这样的函数,一共有100
多个程序来使用,那静态连接需要100000次的更新,动态连接只需要1000次)
,从而也节省了内存的空间。
动态连接库不一定是DLL扩展名的,也可以是ocx、vbx、exe、drv
等等的
大家可以发现在调用WIN32
api的时候里面都会有说明是来自于那个dll等宿主文
件的
现在我就在这里讲讲一些标准的dll用途:
看下面这个API声明:
Public
Declare
Function
GetWindowsDirectory
Lib
"kernel32"
Alias
"GetWindowsDirectoryA"
(ByVal
lpBuffer
As
String,
ByVal
nSize
As
Long)
As
Long
看见kernel32了吗,其实这个就是kernel32.dll的名字,你可以在你的硬盘里找
到他,这就是说GetWindowsDirectory这个函数是在kernel32.dll里面,他的别名
是GetWindowsDirectoryA,()中是他的参数,有两个一个是字符型,一个是长
整型,返回值也是长整型。lpBuffer
-------
String,指定一个字串缓冲区,
用于装载Windows目录名。除非是根目录,否则目录中不会有一个中止用的“\”
字符nSize
----------
Long,lpBuffer字串的最大长度,返回值
为Long,复制
到lpBuffer的一个字串的长度。如lpBuffer不够大,不能容下整个字串,就会返
回lpBuffer要求的长度。零表示失败。
这就是API声明的意义所在!
DLL的说明
KERNEL32.DLL
----
低级内核函数。使用他可以完成内存管理、任务管理、
资源控制等。
USER32.DLL------于windows管理有关的函数。消息、菜单、光标、计时器
、通信和其他大多数非现实函数都可以从这里找到
GDI32.DLL-------图形设备接口库。于设备输出有关的函数:大多数绘图
、显示场景、图元文件、坐标及其字体函数都可以从这梨找到。
COMDLG32.DLL\LZ32.DLL\VERSION.DLL\---这都是提供一些附加函数的库,包
括通用对话框、文件压缩、版本控制的支持。
COMCTL32.DLL
--------一个新的windows控件集合,比如TreeView和RichTextBox
等等,最初这个好像是为了win95而制作的,但是现在也使用与NT下
MAPI32.DLL---------提供了一套电子邮件的专用函数
NETAPI32.DLL--------提供了一套访问和控制网络的函数
ODBC32.DLL--------(不用我再说了吧)ODBC功能的DLL之一
WINMM.DLL------(这可不是WINDOWS的MM)是多媒体控制访问函数集合
windows
api正在快速发展和变化,是你我任何单个人都追赶不上的速度发展,幸
运的是我们不用掌握所有的windows
API,只是掌握需要经常使用的WINDOWs
api
和他的常规结构、基本感念就可以了,这亮点很重要。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
回启章华
2019-09-02 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:32%
帮助的人:623万
展开全部
DLL文件即动态链接库文件,是一种可执行文件,它允许程序共享执行特殊任务所必需的代码和其他资源。Windows提供的DLL文件中包含了允许基于Windows的程序在Windows环境下操作的许多函数和资源。
DLL多数情况下是带有DLL扩展名的文件,但也可能是EXE或其他扩展名。它们向运行于Windows操作系统下的程序提供代码、数据或函数。程序可根据DLL文件中的指令打开、启用、查询、禁用和关闭驱动程序。
DLL是Dynamic
Link
Library的缩写,意为动态链接库。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可有多个DLL文件,一个DLL文件也可能被几个应用程序所共用,这样的
DLL文件被称为共享DLL文件。DLL文件一般被存放在C:\Windows\System目录下。
1、如何了解某应用程序使用哪些DLL文件
右键单击该应用程序并选择快捷菜单中的“快速查看”命令,在随后出现的“快速查看”窗口的“引入表”一栏中你将看到其使用DLL文件的情况。
2、如何知道DLL文件被几个程序使用
运行Regedit,进入HKEY_LOCAL_MACHINE\Software\Microsrft\Windows\Current-
Version\SharedDlls子键查看,其右边窗口中就显示了所有DLL文件及其相关数据,其中数据右边小括号内的数字就说明了被几个程序使用,(2)表示被两个程序使用,(0)则表示无程序使用,可以将其删除。
3、如何解决DLL文件丢失的情况
有时在卸载文件时会提醒你删除某个DLL文件可能会影响其他应用程序的运行。所以当你卸载软件时,就有可能误删共享的DLL文件。一旦出现了丢失DLL文件的情况,如果你能确定其名称,可以在Sysbckup(系统备份文件夹)中找到该DLL文件,将其复制到System文件夹中。如果这样不行,在电脑启动时又总是出现“***dll文件丢失……”的提示框,你可以在“开始/运行”中运行Msconfig,进入系统配置实用程序对话框以后,单击选择“System.ini”标签,找出提示丢失的DLL文件,使其不被选中,这样开机时就不会出现错误提示了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(13)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式