GlobalAddAtom()在Win7上返回0和GetLastError = 0x5,适用于XP

geo*_*osd 5 c c++ windows winapi windows-7

简单代码:

ATOM atom = GlobalAddAtom(L"TestCpp1"); 
Run Code Online (Sandbox Code Playgroud)

它返回0并且GetLastError返回0x5(拒绝访问).MSDN上没有关于它的任何内容.这是在Win7上.管理员权利没有区别.

相同的代码适用于XP.AddAtom(本地)适用于Win7.

是什么导致了这个?

Chr*_*lor 7

Is this a GUI or Console application? One thing you might try is to explicity call LoadLibrary("User32") before calling GlobalAddAtom.

Here is a reference to someone that had a similar problem, on XP maybe this is relevant? http://www.tech-archive.net/Archive/Development/microsoft.public.win32.programmer.kernel/2004-03/0851.html