https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f6e819fcb82eea5db0e8f…
commit f6e819fcb82eea5db0e8ff39e2817dde4fff45c7
Author:     Eric Kohl <eric.kohl(a)reactos.org>
AuthorDate: Mon Feb 11 23:44:01 2019 +0100
Commit:     Eric Kohl <eric.kohl(a)reactos.org>
CommitDate: Mon Feb 11 23:44:01 2019 +0100
    [SNDVOL32] Read the Style value from the registry and use it as the default display
mode. The /n option is no longer needed.
    CORE-15743
---
 base/applications/sndvol32/misc.c     | 30 ++++++++++++++++++++++++++++--
 base/applications/sndvol32/sndvol32.c | 14 ++++++--------
 base/applications/sndvol32/sndvol32.h |  3 +++
 3 files changed, 37 insertions(+), 10 deletions(-)
diff --git a/base/applications/sndvol32/misc.c b/base/applications/sndvol32/misc.c
index 1f0ff8496d..670fa12f25 100644
--- a/base/applications/sndvol32/misc.c
+++ b/base/applications/sndvol32/misc.c
@@ -128,9 +128,9 @@ LoadAndFormatString(IN HINSTANCE hInstance,
 }
 static const TCHAR AppRegSettings[] =
TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Volume Control");
-//static const TCHAR AppOptionsKey[] = TEXT("Options");
+static const TCHAR AppOptionsKey[] = TEXT("Options");
 static const TCHAR LineStatesValue[] = TEXT("LineStates");
-//static const TCHAR StyleValue[] = TEXT("Style");
+static const TCHAR StyleValue[] = TEXT("Style");
 HKEY hAppSettingsKey = NULL;
@@ -273,3 +273,29 @@ ExitClose:
     return Ret;
 }
+
+DWORD
+GetStyleValue(VOID)
+{
+    HKEY hOptionsKey;
+    DWORD dwStyle = 0, dwSize;
+
+    if (RegOpenKeyEx(hAppSettingsKey,
+                     AppOptionsKey,
+                     0,
+                     KEY_READ,
+                     &hOptionsKey) == ERROR_SUCCESS)
+    {
+        dwSize = sizeof(DWORD);
+        RegQueryValueEx(hOptionsKey,
+                        StyleValue,
+                        NULL,
+                        NULL,
+                        (LPBYTE)&dwStyle,
+                        &dwSize);
+
+        RegCloseKey(hOptionsKey);
+    }
+
+    return dwStyle;
+}
diff --git a/base/applications/sndvol32/sndvol32.c b/base/applications/sndvol32/sndvol32.c
index 29e6dcf367..011bec2f12 100644
--- a/base/applications/sndvol32/sndvol32.c
+++ b/base/applications/sndvol32/sndvol32.c
@@ -1322,13 +1322,14 @@ CreateApplicationWindow(
 static
 BOOL
 HandleCommandLine(LPTSTR cmdline,
+                  DWORD dwStyle,
                   PWINDOW_MODE pMode,
                   PUINT pMixerId)
 {
     TCHAR option;
     *pMixerId = 0;
-    *pMode = SMALL_MODE;
+    *pMode = (dwStyle & 0x20) ? SMALL_MODE : NORMAL_MODE;
     while (*cmdline == _T(' ') || *cmdline == _T('-') || *cmdline ==
_T('/'))
     {
@@ -1347,11 +1348,6 @@ HandleCommandLine(LPTSTR cmdline,
             case 'D':
                 break;
-            case 'n': /* Normal size */
-            case 'N':
-                *pMode = NORMAL_MODE;
-                break;
-
             case 's': /* Small size */
             case 'S':
                 *pMode = SMALL_MODE;
@@ -1391,6 +1387,7 @@ _tWinMain(HINSTANCE hInstance,
     INITCOMMONCONTROLSEX Controls;
     WINDOW_MODE WindowMode = SMALL_MODE;
     UINT MixerId = 0;
+    DWORD dwStyle;
     UNREFERENCED_PARAMETER(hPrevInstance);
     UNREFERENCED_PARAMETER(nCmdShow);
@@ -1398,10 +1395,11 @@ _tWinMain(HINSTANCE hInstance,
     hAppInstance = hInstance;
     hAppHeap = GetProcessHeap();
-    HandleCommandLine(lpszCmdLine, &WindowMode, &MixerId);
-
     if (InitAppConfig())
     {
+        dwStyle = GetStyleValue();
+        HandleCommandLine(lpszCmdLine, dwStyle, &WindowMode, &MixerId);
+
         /* load the application title */
         if (!AllocAndLoadString(&lpAppTitle,
                                 hAppInstance,
diff --git a/base/applications/sndvol32/sndvol32.h b/base/applications/sndvol32/sndvol32.h
index cf20366480..65fcb36176 100644
--- a/base/applications/sndvol32/sndvol32.h
+++ b/base/applications/sndvol32/sndvol32.h
@@ -185,6 +185,9 @@ WriteLineConfig(IN LPTSTR szDeviceName,
                 IN PSNDVOL_REG_LINESTATE LineState,
                 IN DWORD cbSize);
+DWORD
+GetStyleValue(VOID);
+
 /* tray.c */
 INT_PTR