我想防止通过访问http://msdn.microsoft.com/en-us/library/ff919712(VS.85).aspx中所述的当前工作目录来加载恶意DLL,>
在我们的C ++应用程序中实现的解决方案是对SetDllDirectory(“”)进行WinAPI调用,这将有效地从Windows DLL加载搜索路径中删除当前工作目录。但是,似乎此解决方案不适用于我们的Delphi应用程序,因为SetDllDirectory()函数不存在。
在Delphi中是否有一个等效的调用,它与SetDllDirectory(“”)的作用相同?谢谢!
我想防止加载恶意DLL,这可能通过访问当前工作目录来实现,如http://msdn.microsoft.com/zh-cn/library/ff919712(VS.85).aspx中所述。 ...
这应该可以解决问题:
调用SetDllDirectory('')不起作用?我看到它在Windows.pas的最新版本中正确声明。如果您有未声明的Delphi版本,则可以升级到最新版本的Delphi,也可以自己声明。
uses DSiWin32;
if not DSiSetDllDirectory('path') then
....