如何从.NET应用程序文件夹中调用win32 dll

时间:2011-02-22 11:17:12

标签: c# winapi dllimport

我可以从C#.NET中的常量指定路径调用(DLLImport)Win32 .DLL文件。 但如果我想从我的aplications文件夹(executavle文件路径)加载它,我该怎么办? DLLImport属性不允许指定变量路径。 请帮助我。 TNX

3 个答案:

答案 0 :(得分:1)

如果DLLImport没有指定任何路径,它应该在应用程序文件夹中查找。

答案 1 :(得分:1)

使用SetDllDirectory函数指定您选择的路径。

[DllImport("kernel32.dll", SetLastError = true)] 
static extern bool SetDllDirectory(string lpPathName); 

有关MSDN的更多信息: http://msdn.microsoft.com/en-us/library/ms686203%28VS.85%29.aspx

检查stackoverflow上的早期帖子: Specify the search path for DllImport in .NET

答案 2 :(得分:0)

只需指定没有路径的dll名称。如下:

    [DllImport("Dllname.dll")]
    static extern void Foo();

它将在app文件夹中搜索。