强制我的软件从特定位置使用DLL

Force my software to use the DLL from a specific location

本文关键字:位置 DLL 定位 我的 软件      更新时间:2023-10-16

有一个程序使用我的DLL,它现在位于软件的同一文件夹中,因此它会自动使用它。

如何强制我的软件只在它所在的文件夹中搜索这个特定的DLL?

我想防止有人把DLL放在我的位置,从而从程序中窃取信息。我可以通过位置验证DLL,但我不知道如何防止程序从另一个位置获取DLL。

换句话说,如何防止有人从软件的文件夹中删除我的DLL,并将其DLL插入程序默认搜索DLL的操作系统文件夹之一,当我的程序在其文件夹中找不到文件时,它将开始在Windows的一般位置搜索它,DLL将等待它。他做了

简而言之,我的问题是:

A有没有办法防止我的软件在任何不是我运行的文件夹的文件夹中查找特定的DLL?

B程序在Windows中查找DLL的所有地方都是什么(默认情况下,我只会检查每个人,确保没有"礼物")

感谢

只是在构建时不要与DLL链接。相反,您可以在代码中使用LoadLibraryAPI(如果需要更多控制,则使用LoadLibraryEx)自行加载DLL,方法是给出要加载的DLL的确切路径。