精易论坛

标题: 怎么结束已经加载的dll [打印本页]

作者: whb666    时间: 2023-9-26 13:17
标题: 怎么结束已经加载的dll
加入abc.exe运行程序,加载了一个123.dll,这时候删除123.dll显示被abc.exe调用,不可删除

需求:在exe上点击一个按钮,解除123.dll占用,使其能够正常删除,
注意:目的不是删除123.dll,而是怎么解除占用

作者: 一梦尽欢    时间: 2023-9-26 13:17
先看是静态调用还是动态调用,动态调用才能用完就卸载dll,静态就不行,如果是静态就改成动态的.
作者: eyyhs    时间: 2023-9-26 13:21
不结束进程的情况下,解除占用,只能上R0层了~!
作者: 蛀牙    时间: 2023-9-26 13:28
进程_结束进程(abc.exe的PID)就可以了
作者: whb666    时间: 2023-9-26 13:50
蛀牙 发表于 2023-9-26 13:28
进程_结束进程(abc.exe的PID)就可以了

这样的话abc.exe也就同时关闭了,需要exe不关闭,dll解除
作者: whb666    时间: 2023-9-26 14:01
eyyhs 发表于 2023-9-26 13:21
不结束进程的情况下,解除占用,只能上R0层了~!

有办法解决吗?可以rmb
作者: dnxl    时间: 2023-9-26 14:04
freelibrary 把DLL卸载不就可以了
作者: 737820030    时间: 2023-9-26 14:19
楼上说的对 ,LoadLibrary加载dll   FreeLibrary卸载dll  就解除占用了。
作者: whb666    时间: 2023-9-26 14:24
737820030 发表于 2023-9-26 14:19
楼上说的对 ,LoadLibrary加载dll   FreeLibrary卸载dll  就解除占用了。

未找到 LoadLibrary  是否增加,,咋整,,,,但是这个FreeLibrary他又有
作者: zhongzutao    时间: 2023-9-26 14:27
whb666 发表于 2023-9-26 14:24
未找到 LoadLibrary  是否增加,,咋整,,,,但是这个FreeLibrary他又有

精易模块有
作者: 737820030    时间: 2023-9-26 14:27
whb666 发表于 2023-9-26 14:24
未找到 LoadLibrary  是否增加,,咋整,,,,但是这个FreeLibrary他又有

这是windows api 你百du搜一下添加到dll里面,通过LoadLibrary加载的句柄  再通过函数名获取到方法调用,不使用dll后,就free掉就行了。
作者: whb666    时间: 2023-9-26 14:32
zhongzutao 发表于 2023-9-26 14:27
精易模块有

模块里是LoadLibraryA
作者: whb666    时间: 2023-9-26 15:06
一梦尽欢 发表于 2023-9-26 14:33
先看是静态调用还是动态调用,动态调用才能用完就卸载dll,静态就不行,如果是静态就改成动态的. ...

一语中的




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4