Sync with trunk r63502.
[reactos.git] / base / system / userinit / userinit.c
index 6dbf1bb..717b818 100644 (file)
  * PROGRAMMERS: Thomas Weidenmueller (w3seek@users.sourceforge.net)
  *              HervĂ© Poussineau (hpoussin@reactos.org)
  */
-#include <windows.h>
-#include <cfgmgr32.h>
+
+#define WIN32_NO_STATUS
+#define _INC_WINDOWS
+#define COM_NO_WINDOWS_H
+#include <stdarg.h>
+#include <windef.h>
+#include <winbase.h>
+#include <winreg.h>
+#include <wingdi.h>
+#include <wincon.h>
+#include <shellapi.h>
 #include <regstr.h>
 #include <shlobj.h>
 #include <shlwapi.h>
-#include "resource.h"
+#include <undocuser.h>
 #include <wine/debug.h>
-#include <win32k/ntusrtyp.h>
+
+#include "resource.h"
 
 WINE_DEFAULT_DEBUG_CHANNEL(userinit);
 
@@ -114,7 +124,7 @@ BOOL IsConsoleShell(VOID)
         goto cleanup;
     }
 
-    /* Check for CONSOLE in SystemStartOptions */
+    /* Check for CONSOLE switch in SystemStartOptions */
     CurrentOption = SystemStartOptions;
     while (CurrentOption)
     {
@@ -217,7 +227,7 @@ StartAutoApplications(
     {
         if (!(findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) && (findData.nFileSizeHigh || findData.nFileSizeLow))
         {
-            memset(&ExecInfo, 0x0, sizeof(SHELLEXECUTEINFOW));
+            ZeroMemory(&ExecInfo, sizeof(SHELLEXECUTEINFOW));
             ExecInfo.cbSize = sizeof(ExecInfo);
             wcscpy(&szPath[len+1], findData.cFileName);
             ExecInfo.lpVerb = L"open";
@@ -241,9 +251,11 @@ TryToStartShell(
 
     TRACE("(%s)\n", debugstr_w(Shell));
 
-    ZeroMemory(&si, sizeof(STARTUPINFO));
-    si.cb = sizeof(STARTUPINFO);
-    ZeroMemory(&pi, sizeof(PROCESS_INFORMATION));
+    ZeroMemory(&si, sizeof(si));
+    si.cb = sizeof(si);
+    si.dwFlags = STARTF_USESHOWWINDOW;
+    si.wShowWindow = SW_SHOWNORMAL;
+    ZeroMemory(&pi, sizeof(pi));
 
     ExpandEnvironmentStrings(Shell, ExpandedShell, MAX_PATH);
 
@@ -418,11 +430,9 @@ COLORREF StrToColorref(
 
     TRACE("(%s)\n", debugstr_w(lpszCol));
 
-    rgb[0] = StrToIntW(lpszCol);
-    lpszCol = StrChrW(lpszCol, L' ') + 1;
-    rgb[1] = StrToIntW(lpszCol);
-    lpszCol = StrChrW(lpszCol, L' ') + 1;
-    rgb[2] = StrToIntW(lpszCol);
+    rgb[0] = (BYTE)wcstoul(lpszCol, &lpszCol, 10);
+    rgb[1] = (BYTE)wcstoul(lpszCol, &lpszCol, 10);
+    rgb[2] = (BYTE)wcstoul(lpszCol, &lpszCol, 10);
     return RGB(rgb[0], rgb[1], rgb[2]);
 }
 
@@ -431,7 +441,7 @@ VOID SetUserSysColors(VOID)
 {
     HKEY hKey;
     INT i;
-    WCHAR szColor[20];
+    WCHAR szColor[25];
     DWORD Type, Size;
     COLORREF crColor;
     LONG rc;
@@ -462,11 +472,6 @@ VOID SetUserSysColors(VOID)
     RegCloseKey(hKey);
 }
 
-DWORD
-WINAPI
-UpdatePerUserSystemParameters(DWORD dw1, BOOL bEnable);
-
-
 static
 VOID SetUserWallpaper(VOID)
 {