I have a VB application that needs to format dates & currencies according to locale. In order to determine the locale, I have been using the API call GetSystemDefaultLCID and passing the result in other locale related API calls to establish currency symbol, date format etc.
This all seemed to be working fine (Windows XP) until I started testing on a different (Windows 2000) box when, despite all control panel settings being UK related, the date format being returned was US and not consistent with the control panel (regional options). By changing the call to GetUserDefaultLCID, it now seems fine.
I accept that the difference in operating system may be immaterial and it could just be due to different settings on the respective boxes but can anyone explain the difference between User and System in this context and how are they both updated outside code (e.g. in control panel).
Thanks in advance.
This all seemed to be working fine (Windows XP) until I started testing on a different (Windows 2000) box when, despite all control panel settings being UK related, the date format being returned was US and not consistent with the control panel (regional options). By changing the call to GetUserDefaultLCID, it now seems fine.
I accept that the difference in operating system may be immaterial and it could just be due to different settings on the respective boxes but can anyone explain the difference between User and System in this context and how are they both updated outside code (e.g. in control panel).
Thanks in advance.