ReactOS  0.4.15-dev-1397-g19779b3
winmain.cpp
Go to the documentation of this file.
1 /*
2  * PROJECT: ReactOS Applications Manager
3  * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
4  * PURPOSE: Main program
5  * COPYRIGHT: Copyright 2009 Dmitry Chapyshev (dmitry@reactos.org)
6  * Copyright 2015 Ismael Ferreras Morezuelas (swyterzone+ros@gmail.com)
7  * Copyright 2017 Alexander Shaposhnikov (sanchaez@reactos.org)
8  */
9 #include "rapps.h"
10 #include "unattended.h"
11 #include "winmain.h"
12 #include <atlcom.h>
13 #include <gdiplus.h>
14 #include <conutils.h>
15 
16 LPCWSTR szWindowClass = L"ROSAPPMGR";
17 
21 
22 class CRAppsModule : public CComModule
23 {
24 public:
25 };
26 
27 BEGIN_OBJECT_MAP(ObjectMap)
29 
32 
35 
36 
38 {
39  if (bInitialize)
40  {
41  gModule.Init(ObjectMap, hInstance, NULL);
42  }
43  else
44  {
45  gModule.Term();
46  }
47 }
48 
50 {
51  if (bInitialize)
52  {
54  }
55  else
56  {
58  }
59 }
60 
61 INT WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, INT nShowCmd)
62 {
63  BOOL bIsFirstLaunch;
64 
67 
69  {
71  }
72 
73  hInst = hInstance;
74 
75  bIsFirstLaunch = !LoadSettings(&SettingsInfo);
76  if (bIsFirstLaunch)
77  {
79  }
80 
81  InitLogs();
83 
84  // parse cmd-line and perform the corresponding operation
86 
89 
90  return bSuccess ? 0 : 1;
91 }
LANGID WINAPI GetUserDefaultUILanguage(void)
Definition: lang.c:806
static VOID InitializeAtlModule(HINSTANCE hInstance, BOOL bInitialize)
Definition: winmain.cpp:37
#define LAYOUT_RTL
Definition: wingdi.h:1370
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
#define TRUE
Definition: types.h:120
VOID FillDefaultSettings(PSETTINGS_INFO pSettingsInfo)
Definition: settings.cpp:167
#define SUBLANG_DEFAULT
Definition: nls.h:168
CAtlWinModule gWinModule
Definition: winmain.cpp:31
INT WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, INT nShowCmd)
Definition: winmain.cpp:61
HINSTANCE hInst
Definition: winmain.cpp:19
int32_t INT
Definition: typedefs.h:58
#define LANG_HEBREW
Definition: nls.h:67
static BOOLEAN bSuccess
Definition: drive.cpp:419
void Term()
Definition: atlbase.h:820
uint32_t ULONG_PTR
Definition: typedefs.h:65
HRESULT Init(_ATL_OBJMAP_ENTRY *p, HINSTANCE, const GUID *plibid)
Definition: atlbase.h:797
HINSTANCE hInstance
Definition: charmap.c:20
VOID InitLogs()
Definition: misc.cpp:195
void LoadSettings(void)
Definition: settings.c:53
#define FALSE
Definition: types.h:117
unsigned int BOOL
Definition: ntddk_ex.h:94
LPWSTR WINAPI GetCommandLineW(VOID)
Definition: proc.c:2015
VOID InitializeGDIPlus(BOOL bInitialize)
Definition: winmain.cpp:49
BOOL WINAPI SetProcessDefaultLayout(DWORD dwDefaultLayout)
Definition: window.c:1720
void WINAPI GdiplusShutdown(ULONG_PTR)
#define WINAPI
Definition: msvc.h:6
Status WINAPI GdiplusStartup(ULONG_PTR *token, const struct GdiplusStartupInput *input, struct GdiplusStartupOutput *output)
Definition: gdiplus.c:81
static const WCHAR L[]
Definition: oid.c:1250
LPCWSTR szWindowClass
Definition: winmain.cpp:16
#define SW_SHOWNORMAL
Definition: winuser.h:764
Gdiplus::GdiplusStartupInput gdiplusStartupInput
Definition: winmain.cpp:33
ULONG_PTR gdiplusToken
Definition: winmain.cpp:34
#define GetModuleHandle
Definition: winbase.h:3667
#define NULL
Definition: types.h:112
HWND hMainWnd
Definition: winmain.cpp:18
BOOL ParseCmdAndExecute(LPWSTR lpCmdLine, BOOL bIsFirstLaunch, int nCmdShow)
Definition: unattended.cpp:238
#define MAKELANGID(p, s)
Definition: nls.h:15
#define BEGIN_OBJECT_MAP(x)
Definition: atlcom.h:649
VOID WINAPI InitCommonControls(void)
Definition: commctrl.c:863
WCHAR * LPWSTR
Definition: xmlstorage.h:184
CRAppsModule gModule
Definition: winmain.cpp:30
#define END_OBJECT_MAP()
Definition: atlcom.h:651
SETTINGS_INFO SettingsInfo
Definition: winmain.cpp:20