0

i can call (DLLImport) Win32 .DLL file from a constant specified path in C#.NET. but if i want to load it from my aplications folder (executavle file path) , what shoud i do? the DLLImport Attribute doesn't allow to specify a variable path. plz help me. tnx

losingsleeep
  • 1,789
  • 7
  • 27
  • 45

3 Answers3

1

If you DLLImport without specifying any path it should look in the application folder.

Felice Pollano
  • 32,038
  • 8
  • 71
  • 112
1

Use SetDllDirectory Function to specify a path of your choice.

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

More on MSDN: http://msdn.microsoft.com/en-us/library/ms686203%28VS.85%29.aspx

Check earlier post on stackoverflow: Specify the search path for DllImport in .NET

Community
  • 1
  • 1
ukhardy
  • 2,074
  • 1
  • 13
  • 12
0

Just specify dll name without path. As below:

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

And it would be searched in app folder.

Anton Semenov
  • 6,127
  • 4
  • 42
  • 67