[ 在线 ] C# 使用 DllImport 机制调用标准 Win32 DLL 出现问题,谢谢。
大熊猫侯佩 iOS开发领域优质创作者 博客专家认证 2008-03-08 05:28:14 win32 汇编写的一个标准 win32 DLL : v.dll
使用C# 编写的 Call_v.exe 来调用。v.dll 和 Call_exe 放在同一目录下,
它们和父目录的windows访问权限为: admin用户和user用户 完全访问。
v.dll 中有一个导出 api : _ShowMsg
在 C# 中有:
private const string szDllPath = @"v.dll";
[DllImport(szDllPath, EntryPoint = "_ShowMsg")]
static extern void ShowMsg(StringBuilder szMsg);
问题:
在 admin用户下运行 Call_v.exe 正常,在user用户下运行 Call_v.exe 出错:
dll加载失败 - "v.dll"
如果将 v.dll 名称改为全路径 : @"c:\test_Call_v\v.dll" 在user用户下出现
同样错误。