我試圖調用LoadLibrary
方法,但它返回0. Marshal.GetLastWin32Error
正在返回126(指定的模塊找不到)。爲什麼LoadLibrary不能使用給定的路徑?
代碼:
[DllImport("kernel32", SetLastError = true, CharSet = CharSet.Ansi)]
static extern IntPtr LoadLibrary([MarshalAs(UnmanagedType.LPStr)]string lpFileName);
string path = @"C:\junk\測試\BlueStacksKK_DeployTool_2.5.48.7209_china_gmgr\ProgramFiles\BstkC.dll";
IntPtr ptr = LoadLibrary(path);
int error = Marshal.GetLastWin32Error();
,但如果我這個文件移動到其他位置一樣C:\Test\BstkC.dll
,它工作正常。
問題可能是由於路徑中的測試
。所以如果我們用英語以外的其他語言進行搜索,它將如何工作。
僅供參考。 File.Exists(path)
返回true。
請注意,ASCII!= ANSI。 –