Is there any way to manually or programmaticaly set the UI Language so that in my tests I can get a different results from GetUserDefaultUILanguage? Or anyone know the settings within Windows where I can change this?
If your testing on vista/win7 install other language packs (windows update -> optional extras) and hot swap over to other languages.
Starting from Vista this is a standard feature (for XP there was special Multilingual MU) version.
Choose "Regional and language Options" from the Control panel and then go to the "keyboards and languages" Tab. In the lower part of it you can add additional UI languages and select one of the installed ones. After choosing a different UI Language you must log off and log on again to see the results (No reboot needed though). Then you see the whole Windows GUI n the whatever selected language.
To truly test the customer it's best not to mess around with the setting and actually get a copy of windows in a different language. This is the approach I finally decide on.