@msdn=http://msdn.microsoft.com/en-us/library/ms684175(VS.85).aspx @pinvoke=http://pinvoke.net/$$$.htm Summary: The LoadLibrary API maps the specified DLL file into the address space of the calling process. !!!!C# Signature: [DllImport("kernel32", SetLastError=true, CharSet = CharSet.Ansi)] static extern IntPtr LoadLibrary([MarshalAs(UnmanagedType.LPStr)]string lpFileName); !!!!VB.NET Signature: <DllImport("kernel32.dll", SetLastError:=True, CharSet:=CharSet.Ansi)> _ Public Shared Function LoadLibrary(ByVal lpFileName As String) As IntPtr End Function !!!!VB Signature: Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpFileName As String) As IntPtr !!!!User-Defined Types: None. !!!!Notes: None. !!!!Tips & Tricks: public static IntPtr LoadWin32Library(string libPath) { if (String.IsNullOrEmpty(libPath)) throw new ArgumentNullException("libPath"); if (Environment.Is64BitProcess) throw new Exception(String.Format("Can't load {0} because this is a 64 bit proccess", libPath)); IntPtr moduleHandle = LoadLibrary(libPath); if (moduleHandle == IntPtr.Zero) { var lasterror = Marshal.GetLastWin32Error(); var innerEx = new Win32Exception(lasterror); innerEx.Data.Add("LastWin32Error", lasterror); throw new Exception("can't load DLL " + libPath, innerEx); } return moduleHandle; } !!!!Sample Code: private void LoadDll() { hExe = LoadLibrary(mFileName); if (hExe == IntPtr.Zero) { throw new System.ComponentModel.Win32Exception("Cannot load " + mFileName); } // etc.. } !!!!Alternative Managed API: Do you know one? Please contribute it! Documentation: LoadLibrary@msdn on MSDN
Edit kernel32.loadlibrary
You do not have permission to change this page. If you feel this is in error, please send feedback with the contact link on the main page.