--- Begin Message ---
Shachar Shemesh wrote:
[snip]
System locale affects all *A functions. I.e. - it affects all ANSI
functions. Aside from this affect:
Of course, I took it as fact that the Ansi code page is determined by
system locale and that means all *A functions are affected.
- String comparsions
(IntlStrEqWorker[AW], lstrcmp[AW], lstrcmpi[AW])
Uses system locale after trying thread locale (which is
derived from user locale on thread creation).
Uses User locale. Not system locale. It determines the collation (sort
order). Obviously, it affects the A functions (lstrcmpA, etc.), but no
more nor less than it does CreateWindowA, FormatHardDiskA, or
AnyOtherFunctionA.
I'm pretty much sure that if the comparsion fails (using thread locale
(which is usually set to user locale)) and the system locale is
different from the thread locale that it does second comparsion using
the system locale. Unfortunately I can't think of any way to prove it
currently. I have hard times thinking about how different locale can
affect string comparsions ;-)
- Resource loading
(FindResource & friends)
Uses system locale after trying Default UI Language (see
GetSystemDefaultUILanguage and GetUserDefaultUILanguage
or NtQueryDefaultLanguage) and user locale.
Actually, here I don't think system locale affects at all. I'll be
able to tell with more certainty later, though.
If you want I can write you very simple test case that proves that it
uses system locale for resource loading.
[snip]
- Filip
--- End Message ---