我想,以防止惡意的DLL是可能加載通過當前工作目錄的訪問權限,如http://msdn.microsoft.com/en-us/library/ff919712(VS.85).aspx如何在Delphi中調用WinAPI函數SetDllDirectory()?
在我們的C++應用程序實現的解決方案是讓一個WinAPI的調用SetDllDirectory會(「」)中所述,這將有效地從Windows DLL加載搜索路徑中刪除當前工作目錄。但是,似乎這個解決方案不適用於我們的Delphi應用程序,因爲SetDllDirectory()函數不存在。
在Delphi中是否存在與SetDllDirectory(「」)完全相同的調用?謝謝!
如果您想在Windows API中使用Windows API中的函數(即Windows **中的函數**,它看起來與任何語言相同),但它通常不是在Windows.pas中聲明的容易自己申報。所有你需要的是在MSDN上的信息,其中指定了參數和結果的數據類型,以及查找的DLL。在大多數情況下,甚至在Delphi中也可以使用那些類型(比如HBRUSH ,HWND等),或者您可以使用等效類型(如'cardinal'或'THWND')。只要不要忘記將調用約定設置爲'stdcall'。 – 2010-10-28 21:58:48