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值返回为0abc.dll可在mfc程序里用loadlibrary正常调用。并不缺少任何其他相关dll。求解。
[DllImport["kernel32.dll"]]
static extern IntPtr LoadLibrary(string lpFileName);
public void Fun()
{
IntPtr p = LoadLibrary(abc.dll);
}
在32位xp系统下正常,可在64位windows 7系统下,p值返回为0abc.dll可在mfc程序里用loadlibrary正常调用。并不缺少任何其他相关dll。求解。
abc.dll是32位vc6编译的mfc dll,
我用vc2008 的mfc测试代码,可以正常运行。这说明应该不是权限问题吧
我所有的代码都是在32位操作系统下编译的。
如果不可以,试试关掉UAC,或者看看system32目录是否有kernel32.dll或确认其是否正常工作。
此问题已经解决,正如孟子所述,在应用程序的项目属性---生成---常规---目标平台,设置为x86,即可正常运行。
这点,我觉得很奇怪,难道是微软的bug?
感谢所有人的回复。