系统中的DLL文件怎么用?

系统中的DLL文件怎么用?,第1张

Dell向运行于Windows *** 作系统下的程序提供代码、数据或链亏函数。程序可根据DLL文件中的指令打开、野培启用、查询、禁用和关闭驱动程序。

打开一个程序的安装目录,在这里面可以看到一些dll的一些文件。如果在它的上面双击的话会在它的旁边提示:如果是想要查看它可以下载安装一个叫exescope的自定义应用软件的工具。

右边有一个更多,点击一下“更多”,可以看到它的默认安装路径,如果不需要更改的话,它就会默认的安装到c盘的程序文件夹中。

点击安装之后,在它d出的面板中有一个自动汉化的说明,我们点击“已阅”。接着在它的安装过程中会出现一个安装类型,可以根据需要选择一个安装类型,这里就选择它默认的“典型安装”,然后点击:下一步。颂唤唯当安装到汉化的安装目录的时候它会提示,如果是不想把它安装到默认位置的话,可以在点击浏览选择一个安装的文件位置。

Delphi有静态加载带塌Dll和动态加载Dll,静态加载的Dll不用我们释放;动态加载需要我们自己释放;

这里只附上动态加载DLL的释放(此处Dll和Exe程缓行碧扰举序在同一路径下):

procedure TForm1.Button2Click(Sender: TObject)

var MyHandle:THandle

FPointer:Pointer

MyDll_Func: function (s:string):Integerstdcall

begin

try

try

MyHandle:=LoadLibrary('project1.Dll')

if MyHandle<>0 then

begin

FPointer:=GetProcAddress(MyHandle ,PChar(Edit1.text))

if FPointer<>nil then

begin

MyDll_Func:=FPointer

MyDll_Func(Edit1.text)

end

else

ShowMessage('此'+Edit1.text+'方法,在project1.Dll中不存在')

end

except

showmessage('加载project1.Dll异常')

end

finally

FreeLibrary(MyHandle)

end

end

如果你是以DllImport这样的方式装载非托管库的话,释放的方法应该在你的类库写好的,就漏纤销跟加载钩子带卸载钩子一样。这个真不知竖兆道如何去卸载了。如果是通过kernel32

Api动态加载的话,这个Api已经提供卸载类返游库的方法了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12521379.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存