This topic has not yet been rated - Rate this topic

How the VM Chooses Between ANSI and Unicode

Visual Studio 6.0

Regarding the MessageBox example shown in the J/Direct topic Getting Started, a subtle, but important fact is that USER32 does not export a function named MessageBox. Because the MessageBox function takes a string, it (like all Win32 functions that deal with strings) must exist in two versions: an ANSI version and a Unicode version (named MessageBoxA and MessageBoxW, respectively). When you code a call to MessageBox in C or C++, the MessageBox "function" you call is actually a macro that expands to either MessageBoxA or MessageBoxW, depending on whether the UNICODE macro is defined.

For more information, see:

Did you find this helpful?
(1500 characters remaining)
© 2013 Microsoft. All rights reserved.