C# 64位win7下DllImport LoadLibrary函数失败,求解。
C# 2.0 开发winform程序
[DllImport["kernel32.dll"]]
static extern IntPtr LoadLibrary(string lpFileName);
public void Fun()
{
IntPtr p = LoadLibrary(abc.dll);
}
在32位xp系统下正常,可在64位windows 7系统下,p值返回为0
abc.dll可在mfc程序里用loadlibrary正常调用。并不缺少任何其他相关dll。
求解。
------解决方案--------------------[DllImport["kernel32.dll"]]
确定没有 "kernel32.dll" -》kernel64
没用过w7。没法试。win2008出现过几回都是权限问题。用x86编译
------解决方案--------------------把你的winform程序编译成x86的目标平台
------解决方案--------------------Load一个其他dll试试看,如果其他的dll都可以,那说明还是你dll编译的问题。
如果不可以,试试关掉UAC,或者看看system32目录是否有kernel32.dll或确认其是否正常工作。