读书人

C# 64位win7上DllImport LoadLibrary函

发布时间: 2012-10-18 13:46:55 作者: rapoo

C# 64位win7下DllImport LoadLibrary函数失败,求解。
C# 2.0 开发winform程序

C# code
[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或确认其是否正常工作。

读书人网 >C#

热点推荐