2011-09-01 115 views
0

我在使用loadlibray在Win7上加载系统DLL:user32.dll时出现问题。 (XP是好的)加载系统DLL:LoadLibrary(“user32.dll”)在Win7(32/64)上失败,但是XP可以吗?

该演示使用VS2008在XP上构建,并在XP上成功运行。但是,当它运行在Win7上时,它会崩溃。我使用了调试器,并发现loadlibrary失败。

  • 调用LoadLibrary的结果:0x0000000
  • GetLastError函数的结果是:998(0x3E6)

如何找到含义的任何提示:998?

+0

您没有将user32.dll复制到该机器,是吗?通用的解释是你的启动代码正在破坏堆。 –

回答

1

为了得到错误代码的含义,去这里:

http://msdn.microsoft.com/en-us/library/ms681381(v=vs.85).aspx

的错误是:

ERROR_NOACCESS:无效访问内存位置。

似乎有些东西试图访问Win7下未映射的内存,但不是在WinXP下。奇怪。

+0

是的,998就像你说的那样。有关此错误代码的详细信息,请在以下位置:http://support.microsoft.com/kb/196069 – brant