GlobalAddAtom()在Win7上返回0和GetLastError = 0x5,在XP上运行

简单的代码:

ATOM atom = GlobalAddAtom(L"TestCpp1"); 

它返回0,GetLastError返回0x5(访问被拒绝)。 没有关于它的MSDN。 这是在Win7上。 pipe理权限没有任何区别。

相同的代码在XP上工作。 AddAtom(本地)在Win7上工作。

这是什么原因造成的?

这是一个GUI或控制台应用程序? 你可能会尝试的一件事是在调用GlobalAddAtom之前调用LoadLibrary(“User32”)。

这是一个有类似问题的人的参考,在XP上也许这是相关的? http://www.tech-archive.net/Archive/Development/microsoft.public.win32.programmer.kernel/2004-03/0851.html