title: How can I change a Windows user's regional settings/date format?
body: <p>I use a VB6/COM+ application which outputs date/time values based on the short date settings in the Control Panel, Regional Settings, for the user that runs it.  The program that then parses that output has a configurable setting for the date format it expects, and presents in the UI.</p>
  
  <p>e.g. If the regional setting for the user is set to mm/dd/yyyy, and it outputs 06/18/2009, the application expecting "18/06/2009" fails with "String was not recognized as a valid DateTime".</p>
  
  <p>As we usually run this application as a service account, which we have not logged in as interactively to create a profile, we generally set the correct date format and then tick the "Apply all settings to the current user account and the default user profile" option.  </p>
  
  <p>I would like to be make the C# configuration utility I have written for this mess to be able to set the date format programmatically for a given user.</p>
  
  <p><strong>Edit</strong>
  I would like nothing more than to change the code, but do not have the ability to do so at this time.</p>
  
  <p>I also know that what I am asking is a bad thing to do.  With regards to "it should be the user's choice" - I <strong>am</strong> that user, as I create it explicitly for the task; I just want to set the date format by a scripted method, rather than having to do the clicking myself.</p>