* Fix System Locale field
* Fix Input Locale field
svn path=/trunk/; revision=51228
#include <wchar.h>
#include <stdio.h>
#include <wchar.h>
#include <stdio.h>
#include <windows.h>
#include <time.h>
#include <locale.h>
#include <lm.h>
#include <windows.h>
#include <time.h>
#include <locale.h>
#include <lm.h>
KEY_QUERY_VALUE,
&hKey) != ERROR_SUCCESS)
{
KEY_QUERY_VALUE,
&hKey) != ERROR_SUCCESS)
{
- //wprintf("Warning! Cannot open %s. Last error: %lu.\n", lpSubKey, GetLastError());
+ wprintf(L"Warning! Cannot open %s. Last error: %lu.\n", lpSubKey, GetLastError());
(LPBYTE)Buf,
&dwBytes) != ERROR_SUCCESS || (dwType != REG_SZ && dwType != REG_MULTI_SZ))
{
(LPBYTE)Buf,
&dwBytes) != ERROR_SUCCESS || (dwType != REG_SZ && dwType != REG_MULTI_SZ))
{
- //wprintf("Warning! Cannot query %s. Last error: %lu, type: %lu.\n", lpValueName, GetLastError(), dwType);
+ wprintf(L"Warning! Cannot query %s. Last error: %lu, type: %lu.\n", lpValueName, GetLastError(), dwType);
dwBytes = 0;
bRet = FALSE;
}
dwBytes = 0;
bRet = FALSE;
}
KEY_QUERY_VALUE,
&hKey) != ERROR_SUCCESS)
{
KEY_QUERY_VALUE,
&hKey) != ERROR_SUCCESS)
{
+ wprintf(L"Warning! Cannot open %s. Last error: %lu.\n", lpSubKey, GetLastError());
(LPBYTE)lpData,
&dwBytes) != ERROR_SUCCESS || dwType != REG_DWORD)
{
(LPBYTE)lpData,
&dwBytes) != ERROR_SUCCESS || dwType != REG_DWORD)
{
- //wprintf("Warning! Cannot query %s. Last err: %lu, type: %lu\n", lpValueName, GetLastError(), dwType);
+ wprintf(L"Warning! Cannot query %s. Last err: %lu, type: %lu\n", lpValueName, GetLastError(), dwType);
*lpData = 0;
bRet = FALSE;
}
*lpData = 0;
bRet = FALSE;
}
SYSTEM_INFO SysInfo;
WCHAR Buf[BUFFER_SIZE], Tmp[BUFFER_SIZE], Msg[BUFFER_SIZE], szSystemDir[MAX_PATH];
const WCHAR *lpcszSysType;
SYSTEM_INFO SysInfo;
WCHAR Buf[BUFFER_SIZE], Tmp[BUFFER_SIZE], Msg[BUFFER_SIZE], szSystemDir[MAX_PATH];
const WCHAR *lpcszSysType;
NETSETUP_JOIN_STATUS NetJoinStatus;
MEMORYSTATUS MemoryStatus;
unsigned int cSeconds;
NETSETUP_JOIN_STATUS NetJoinStatus;
MEMORYSTATUS MemoryStatus;
unsigned int cSeconds;
swprintf(Tmp, L"HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\%u", i);
RegGetSZ(HKEY_LOCAL_MACHINE, Tmp, L"Identifier", Buf);
swprintf(Tmp, L"HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\%u", i);
RegGetSZ(HKEY_LOCAL_MACHINE, Tmp, L"Identifier", Buf);
- wprintf(L" [%02u]: %s", i+1, Buf);
+ wprintf(L" [%02u]: %s", i+1, Buf);
RegGetSZ(HKEY_LOCAL_MACHINE, Tmp, L"VendorIdentifier", Buf);
wprintf(L" %s\n", Buf);
RegGetSZ(HKEY_LOCAL_MACHINE, Tmp, L"VendorIdentifier", Buf);
wprintf(L" %s\n", Buf);
wprintf(Msg, Buf);
//getting System Locale
wprintf(Msg, Buf);
//getting System Locale
- if (RegGetSZ(HKEY_CURRENT_USER,
- L"Control Panel\\International",
- L"Locale",
- Tmp))
+ if (GetLocaleInfoW(LOCALE_SYSTEM_DEFAULT, LOCALE_ILANGUAGE, Tmp, BUFFER_SIZE))
if (RegGetSZ(HKEY_CLASSES_ROOT,
L"MIME\\Database\\Rfc1766",
Tmp,
Buf))
if (RegGetSZ(HKEY_CLASSES_ROOT,
L"MIME\\Database\\Rfc1766",
Tmp,
Buf))
+ {
+ /* get rid of @filename,resource */
+ lpBuffer = wcschr(Buf, L';');
+ if (lpBuffer)
+ SHLoadIndirectString(lpBuffer+1, lpBuffer+1, BUFFER_SIZE - (lpBuffer-Buf) - 1, NULL);
+
if (GetOemStrings(IDS_SYS_LOCALE, Msg))
wprintf(Msg, Buf);
if (GetOemStrings(IDS_SYS_LOCALE, Msg))
wprintf(Msg, Buf);
//getting Input Locale
if (RegGetSZ(HKEY_CURRENT_USER,
L"Keyboard Layout\\Preload",
L"1",
//getting Input Locale
if (RegGetSZ(HKEY_CURRENT_USER,
L"Keyboard Layout\\Preload",
L"1",
- Buf))
- {
- int i, j;
-
- for(j = 0, i = 4; i <= 8; j++, i++)
- Tmp[j] = Buf[i];
-
+ Tmp) && wcslen(Tmp) > 4)
if (RegGetSZ(HKEY_CLASSES_ROOT,
L"MIME\\Database\\Rfc1766",
if (RegGetSZ(HKEY_CLASSES_ROOT,
L"MIME\\Database\\Rfc1766",
+ {
+ /* get rid of @filename,resource */
+ lpBuffer = wcschr(Buf, L';');
+ if (lpBuffer)
+ SHLoadIndirectString(lpBuffer+1, lpBuffer+1, BUFFER_SIZE - (lpBuffer-Buf) - 1, NULL);
+
if (GetOemStrings(IDS_INPUT_LOCALE, Msg))
wprintf(Msg, Buf);
if (GetOemStrings(IDS_INPUT_LOCALE, Msg))
wprintf(Msg, Buf);
//getting Time Zone
GetTimeZoneInformation(&TimeZoneInfo);
//getting Time Zone
GetTimeZoneInformation(&TimeZoneInfo);
- if (NetGetJoinInformation (NULL, &lpNetBuffer, &NetJoinStatus) == NERR_Success)
+ if (NetGetJoinInformation (NULL, &lpBuffer, &NetJoinStatus) == NERR_Success)
{
if(GetOemStrings(IDS_DOMAIN, Msg))
{
if(GetOemStrings(IDS_DOMAIN, Msg))
- wprintf(Msg, lpNetBuffer);
+ wprintf(Msg, lpBuffer);
- NetApiBufferFree(lpNetBuffer);
+ NetApiBufferFree(lpBuffer);
<library>ntdll</library>
<library>advapi32</library>
<library>netapi32</library>
<library>ntdll</library>
<library>advapi32</library>
<library>netapi32</library>
+ <library>shlwapi</library>
<file>systeminfo.c</file>
<file>systeminfo.rc</file>
<file>rsrc.rc</file>
<file>systeminfo.c</file>
<file>systeminfo.rc</file>
<file>rsrc.rc</file>