diff options
author | Simon Howard | 2009-06-13 15:36:20 +0000 |
---|---|---|
committer | Simon Howard | 2009-06-13 15:36:20 +0000 |
commit | d91e3e86736f710265629e56dc77c1dec0b425e7 (patch) | |
tree | 96a63dc34618bbdc6700b2bba4bb5d35cb4aa898 /wince | |
parent | 0f5de61b743fdf05335436c1c71b4b488870483f (diff) | |
parent | d4863b4c4ac47766b5fd3b8b0949be7af792e3d0 (diff) | |
download | chocolate-doom-d91e3e86736f710265629e56dc77c1dec0b425e7.tar.gz chocolate-doom-d91e3e86736f710265629e56dc77c1dec0b425e7.tar.bz2 chocolate-doom-d91e3e86736f710265629e56dc77c1dec0b425e7.zip |
Merge from trunk.
Subversion-branch: /branches/raven-branch
Subversion-revision: 1601
Diffstat (limited to 'wince')
-rw-r--r-- | wince/env.c | 37 |
1 files changed, 32 insertions, 5 deletions
diff --git a/wince/env.c b/wince/env.c index 72af2212..c90b4c8d 100644 --- a/wince/env.c +++ b/wince/env.c @@ -40,17 +40,44 @@ static void SetEnvironment(char *env_string, wchar_t *wvalue) putenv(value); } +static int ReadOwnerName(wchar_t *value, DWORD len) +{ + HKEY key; + DWORD valtype; + + if (RegOpenKeyExW(HKEY_CURRENT_USER, + L"\\ControlPanel\\Owner", 0, + KEY_READ, &key) != ERROR_SUCCESS) + { + return 0; + } + + valtype = REG_SZ; + + if (RegQueryValueExW(key, L"Name", NULL, &valtype, + (LPBYTE) value, &len) != ERROR_SUCCESS) + { + return 0; + } + + // Close the key + + RegCloseKey(key); + + return 1; +} + void PopulateEnvironment(void) { wchar_t temp[MAX_PATH]; - DWORD buf_len; // Username: - buf_len = UNLEN; - GetUserNameExW(NameDisplay, temp, &buf_len); - SetEnvironment("USER=", temp); - SetEnvironment("USERNAME=", temp); + if (ReadOwnerName(temp, MAX_PATH)) + { + SetEnvironment("USER=", temp); + SetEnvironment("USERNAME=", temp); + } // Temp dir: |