ReactOS 0.4.17-dev-1183-g3b30a2a
CMainWnd.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS Management Console
3 * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
4 * PURPOSE: Main window class
5 * COPYRIGHT: Copyright 2006-2007 Thomas Weidenmueller
6 * Copyright 2017 Mark Jansen (mark.jansen@reactos.org)
7 * Copyright 2026 Eric Kohl (eric.kohl@reactos.org)
8 */
9
10#pragma once
11
12/* Toolbar Button Indices */
13#define BTN_UNDO 0
14#define BTN_REDO 1
15#define BTN_UP 2
16#define BTN_SCOPE_PANE 3
17#define BTN_EXPORT_LIST 4
18#define BTN_HELP 5
19#define BTN_ACTIONS_PANE 6
20
21#define MAX_RECENT_FILES 4
22
23class CMainWnd :
24 public CWindowImpl<CMainWnd>
25{
26private:
27 CWndProcThunk m_FrameThunk;
28
30 CAtlString m_ConsoleTitle;
36
42
45
46 CAtlList<CConsoleWnd*> m_ViewList;
48
51
52 CAtlList<CRecentFileEntry *> m_RecentFilesList;
53
54public:
55 CWindow m_MDIClient;
56 CAtlString m_Filename;
57
58 /* Only used for loading msc files */
59 CSimpleMap<UINT, CSnapin*> *m_TempNodeMap;
60
61public:
62
71
83
86
92
97
100
104
107
108 static CWndClassInfo& GetWndClassInfo()
109 {
110 static CWndClassInfo wc =
111 {
112 {
113 /* cbSize= */sizeof(WNDCLASSEX),
114 /* style= */0,
115 /* lpfnWndProc= */StartWindowProc,
116 /* cbClsExtra= */0,
117 /* cbWndExtra= */0,
118 /* hInstance= */NULL,
119 /* hIcon= */LoadIcon(_AtlBaseModule.GetModuleInstance(), MAKEINTRESOURCE(IDI_MAINAPP)),
120 /* hCursor= */NULL,
121 /* hbrBackground= */(HBRUSH)(COLOR_BTNFACE + 1),
122 /* lpszMenuName= */NULL,
123 /* lpszClassName= */TEXT("MMCMainFrame"),
124 /* hIconSm= */LoadIcon(_AtlBaseModule.GetModuleInstance(), MAKEINTRESOURCE(IDI_MAINAPP))
125 },
126 NULL, NULL, IDC_ARROW, TRUE, 0, L""
127 };
128 return wc;
129 }
130
132 {
133 return GetWndClassInfo().m_wc.lpszClassName;
134 }
135
137 {
138 CMainWnd* pThis = reinterpret_cast<CMainWnd*>(hWnd);
139 return ::DefFrameProc(pThis->m_hWnd, pThis->m_MDIClient.m_hWnd, uMsg, wParam, lParam);
140 }
141
142private:
143
144 void InitMain()
145 {
146 delete m_RootNode;
148
153 m_NextViewId = 1;
154 m_NextNodeId = 1;
155 }
156
158 {
159 HWND hWndMDIChild;
160
161 hWndMDIChild = (HWND)m_MDIClient.SendMessage(WM_MDIGETACTIVE, 0, 0);
162 if (hWndMDIChild == NULL)
163 return NULL;
164
165 return (CConsoleWnd*)::GetWindowLongPtr(hWndMDIChild, 0);
166 }
167
168 void CreateNewConsoleTitle(CAtlString& str)
169 {
171 str.LoadString(IDS_CONSOLETITLE);
172
173 LPTSTR lpTarget = NULL;
175 str.GetString(), 0, 0, (LPTSTR)&lpTarget, 0, (va_list*)args);
176
177 if (Ret)
178 {
179 str = lpTarget;
180 LocalFree(lpTarget);
181 }
182 }
183
184
185public:
186 CMainWnd();
187 ~CMainWnd();
188
189 LRESULT OnCreate(UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
190 LRESULT OnSize(UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
191 LRESULT OnCloseChild(UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
192 LRESULT OnDestroy(UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
193 LRESULT OnClose(UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
194 LRESULT OnNotify(UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
195 LRESULT OnMenuSelect(UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
196
197 LRESULT OnFileNew(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
198 LRESULT OnFileOpen(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
199 LRESULT OnFileSave(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
200 LRESULT OnFileSaveAs(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
201 LRESULT OnFileAdd(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
202 LRESULT OnFileOptions(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
203 LRESULT OnFileRecent(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
204 LRESULT OnFileExit(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
205 LRESULT OnActionNewWindow(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
206 LRESULT OnActionRename(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
207 LRESULT OnViewMode(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
208 LRESULT OnViewCustomize(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
209 LRESULT OnWindowsNew(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
210 LRESULT OnWindowsCascade(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
211 LRESULT OnWindowsTile(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
212 LRESULT OnWindowsArrange(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
213 LRESULT OnHelpAboutMMC(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
214 LRESULT OnHelpAboutSnapin(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
215
216 LRESULT OnToolbarSelectParent(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
217 LRESULT OnToolbarScopePane(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
218 LRESULT OnToolbarActionsPane(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
219 LRESULT OnMDIForward(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
220
221private:
222 BOOL CreateView(CSnapin *RootNode, CSnapin *SelectedNode = NULL);
224
227 VOID AddToRecentFiles(const CAtlString &FileName);
229 LRESULT SaveMscFile(const CAtlString &FileName);
230 LRESULT LoadMscFile(const CAtlString &FileName);
231 HRESULT ParseScopeTree(MscFile *mscFile, IXMLDOMElement *pRootElement);
232 HRESULT ParseViewsElement(MscFile *mscFile, IXMLDOMElement *pRootElement);
233
234public:
235 CAtlString *GetConsoleTitle();
236 void SetConsoleTitle(CAtlString consoleTitle);
238 VOID SetToolBarVisible(BOOL bVisible);
241
243 VOID UpdateViewMenu(LISTVIEW_MODE ListViewMode);
245 VOID UpdateToolbuttons(BOOL bTreeViewVisible, BOOL bActionsPaneVisible);
250
255
257
261 VOID UpdateNextNodeId(UINT NodeId);
263 void SetDocumentMode(DOCUMENT_MODE DocumentMode);
265 void SetLogicalReadOnly(BOOL LogicalReadOnly);
267 void SetPreventViewCustomization(BOOL PreventCustomization);
268};
269
HWND hWnd
Definition: settings.c:17
#define WM_USER_CLOSE_CHILD
Definition: precomp.h:14
#define IDI_MAINAPP
Definition: resource.h:6
#define IDM_FILE_NEW
Definition: resource.h:11
#define IDM_FILE_OPEN
Definition: resource.h:12
#define IDM_FILE_SAVE
Definition: resource.h:13
#define IDM_MDI_FIRSTCHILD
Definition: resource.h:19
#define IDS_CONSOLETITLE
Definition: resource.h:4
#define IDM_FILE_SAVEAS
Definition: resource.h:14
#define IDM_FILE_EXIT
Definition: resource.h:15
@ DocumentMode_Author
Definition: precomp.h:43
enum _LISTVIEW_MODE LISTVIEW_MODE
enum _DOCUMENT_MODE DOCUMENT_MODE
#define IDM_VIEW_LARGE_ICONS
Definition: resource.h:45
#define IDM_VIEW_LIST
Definition: resource.h:47
#define IDM_FILE_ADD
Definition: resource.h:31
#define IDM_ACTION_NEW
Definition: resource.h:40
#define IDM_FILE_RECENT1
Definition: resource.h:33
#define IDM_WINDOWS_ARRANGE
Definition: resource.h:57
#define IDM_FILE_OPTIONS
Definition: resource.h:32
#define IDM_VIEW_CUSTOMIZE
Definition: resource.h:49
#define IDM_WINDOWS_TILE
Definition: resource.h:56
#define IDM_TB_ACTIONS_PANE
Definition: resource.h:70
#define IDM_HELP_ABOUT_MMC
Definition: resource.h:60
#define IDM_HELP_ABOUT_SNAPIN
Definition: resource.h:61
#define IDM_TB_UP
Definition: resource.h:66
#define IDM_WINDOWS_NEW
Definition: resource.h:54
#define IDM_FILE_RECENT3
Definition: resource.h:35
#define IDM_FILE_RECENT4
Definition: resource.h:36
#define IDM_ACTION_RENAME
Definition: resource.h:41
#define IDM_WINDOWS_CASCADE
Definition: resource.h:55
#define IDM_VIEW_DETAILS
Definition: resource.h:48
#define IDM_VIEW_SMALL_ICONS
Definition: resource.h:46
#define IDM_TB_SCOPE_PANE
Definition: resource.h:67
#define IDM_FILE_RECENT2
Definition: resource.h:34
VOID UpdateToolbuttons(BOOL bTreeViewVisible, BOOL bActionsPaneVisible)
Definition: CMainWnd.cpp:853
LRESULT OnFileRecent(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
Definition: CMainWnd.cpp:342
CMainWnd()
Definition: CMainWnd.cpp:26
void SetPreventViewCustomization(BOOL PreventCustomization)
Definition: CMainWnd.cpp:803
CWndProcThunk m_FrameThunk
Definition: CMainWnd.h:27
BOOL GetPreventViewCustomization()
Definition: CMainWnd.cpp:797
UINT m_NextNodeId
Definition: CMainWnd.h:50
LRESULT OnFileExit(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
Definition: CMainWnd.cpp:374
VOID UpdateUpToolButton(BOOL bShow)
Definition: CMainWnd.cpp:847
VOID UpdateAboutSnapinMenu(CSnapin *Snapin)
Definition: CMainWnd.cpp:809
LRESULT OnWindowsCascade(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
Definition: CMainWnd.cpp:441
LRESULT OnDestroy(UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: CMainWnd.cpp:132
CAtlString m_ConsoleTitle
Definition: CMainWnd.h:30
HIMAGELIST m_hToolBarImageList
Definition: CMainWnd.h:40
LRESULT OnToolbarSelectParent(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
Definition: CMainWnd.cpp:497
VOID UpdateLayout()
Definition: CMainWnd.cpp:723
BOOL GetLogicalReadOnly()
Definition: CMainWnd.cpp:785
static LRESULT CALLBACK XDefFrameProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: CMainWnd.h:136
CAtlString * GetConsoleTitle()
Definition: CMainWnd.cpp:575
int m_ConsoleNumber
Definition: CMainWnd.h:29
VOID SetToolBarVisible(BOOL bVisible)
Definition: CMainWnd.cpp:593
VOID AddToRecentFiles(const CAtlString &FileName)
Definition: CMainWnd.cpp:931
LRESULT OnNotify(UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: CMainWnd.cpp:147
int GetSnapinCacheCount()
Definition: CMainWnd.cpp:638
CAtlList< CRecentFileEntry * > m_RecentFilesList
Definition: CMainWnd.h:52
VOID LoadRecentFiles()
Definition: CMainWnd.cpp:898
LRESULT OnFileAdd(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
Definition: CMainWnd.cpp:316
LRESULT OnFileOptions(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
Definition: CMainWnd.cpp:331
LRESULT OnWindowsNew(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
Definition: CMainWnd.cpp:434
LRESULT OnCreate(UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: CMainWnd.cpp:74
HRESULT ParseViewsElement(MscFile *mscFile, IXMLDOMElement *pRootElement)
Definition: CMainWnd.cpp:1235
BOOL IsToolBarVisible()
Definition: CMainWnd.cpp:587
CSnapin * GetRootSnapin()
Definition: CMainWnd.cpp:668
~CMainWnd()
Definition: CMainWnd.cpp:64
VOID UpdateMenu()
Definition: CMainWnd.cpp:749
VOID UpdateViewMenu(LISTVIEW_MODE ListViewMode)
Definition: CMainWnd.cpp:837
void CreateNewConsoleTitle(CAtlString &str)
Definition: CMainWnd.h:168
DWORD CreateNewFilename(PWSTR pBuffer, DWORD dwSize, DWORD Number)
Definition: CMainWnd.cpp:983
CWindow m_MDIClient
Definition: CMainWnd.h:55
LRESULT LoadMscFile(const CAtlString &FileName)
Definition: CMainWnd.cpp:1093
HMENU m_hMenuConsoleSmall
Definition: CMainWnd.h:31
CSnapin * m_RootNode
Definition: CMainWnd.h:49
LRESULT OnFileSaveAs(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
Definition: CMainWnd.cpp:273
static LPCTSTR GetWndClassName()
Definition: CMainWnd.h:131
DOCUMENT_MODE GetDocumentMode()
Definition: CMainWnd.cpp:773
CSimpleMap< UINT, CSnapin * > * m_TempNodeMap
Definition: CMainWnd.h:59
CSnapinCacheEntry * GetSnapinCacheEntry(int nIndex)
Definition: CMainWnd.cpp:644
HIMAGELIST SnapinImageList()
Definition: CMainWnd.cpp:662
UINT GetNextNodeId()
Definition: CMainWnd.cpp:695
HIMAGELIST m_hSnapinImageList
Definition: CMainWnd.h:44
LRESULT LoadSnapinCache()
Definition: CMainWnd.cpp:614
CConsoleWnd * GetActiveChildInfo()
Definition: CMainWnd.h:157
LRESULT OnViewMode(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
Definition: CMainWnd.cpp:405
BOOL CreateView(CSnapin *RootNode, CSnapin *SelectedNode=NULL)
Definition: CMainWnd.cpp:543
LRESULT OnHelpAboutMMC(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
Definition: CMainWnd.cpp:462
DOCUMENT_MODE m_DocumentMode
Definition: CMainWnd.h:33
VOID UpdateViews()
Definition: CMainWnd.cpp:708
void SetLogicalReadOnly(BOOL LogicalReadOnly)
Definition: CMainWnd.cpp:791
BOOL m_LogicalReadOnly
Definition: CMainWnd.h:34
VOID UpdateRecentFilesMenu()
Definition: CMainWnd.cpp:860
static CWndClassInfo & GetWndClassInfo()
Definition: CMainWnd.h:108
LRESULT OnWindowsArrange(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
Definition: CMainWnd.cpp:455
CToolbar< DWORD_PTR > m_ToolBar
Definition: CMainWnd.h:37
VOID UpdateNextNodeId(UINT NodeId)
Definition: CMainWnd.cpp:701
BOOL m_PreventViewCustomization
Definition: CMainWnd.h:35
LRESULT OnHelpAboutSnapin(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
Definition: CMainWnd.cpp:479
CSimpleArray< CSnapinCacheEntry * > m_SnapinCache
Definition: CMainWnd.h:43
LRESULT OnViewCustomize(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
Definition: CMainWnd.cpp:422
CAtlList< CConsoleWnd * > m_ViewList
Definition: CMainWnd.h:46
HMENU m_hMenuConsoleLarge
Definition: CMainWnd.h:32
BOOL m_bStandardMenusVisible
Definition: CMainWnd.h:41
LRESULT OnCloseChild(UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: CMainWnd.cpp:123
LRESULT OnWindowsTile(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
Definition: CMainWnd.cpp:448
VOID SetStandardMenusVisible(BOOL bVisible)
Definition: CMainWnd.cpp:606
void InitMain()
Definition: CMainWnd.h:144
VOID UpdateTitle()
Definition: CMainWnd.cpp:763
LRESULT OnClose(UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: CMainWnd.cpp:140
LRESULT OnFileSave(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
Definition: CMainWnd.cpp:260
LRESULT OnFileNew(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
Definition: CMainWnd.cpp:181
HRESULT ParseScopeTree(MscFile *mscFile, IXMLDOMElement *pRootElement)
Definition: CMainWnd.cpp:1197
LRESULT OnActionRename(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
Definition: CMainWnd.cpp:393
BOOL m_bToolBarVisible
Definition: CMainWnd.h:39
VOID RegisterView(CConsoleWnd *pView)
Definition: CMainWnd.cpp:674
UINT m_NextViewId
Definition: CMainWnd.h:47
LRESULT OnActionNewWindow(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
Definition: CMainWnd.cpp:381
BOOL AreStandardMenusVisible()
Definition: CMainWnd.cpp:600
VOID UnregisterView(CConsoleWnd *pView)
Definition: CMainWnd.cpp:684
LRESULT OnMenuSelect(UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: CMainWnd.cpp:166
LRESULT OnToolbarScopePane(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
Definition: CMainWnd.cpp:508
LRESULT OnFileOpen(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
Definition: CMainWnd.cpp:218
LRESULT OnToolbarActionsPane(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
Definition: CMainWnd.cpp:519
LRESULT OnSize(UINT nMessage, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
Definition: CMainWnd.cpp:116
LRESULT OnMDIForward(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
Definition: CMainWnd.cpp:530
LRESULT SaveMscFile(const CAtlString &FileName)
Definition: CMainWnd.cpp:995
CAtlString m_Filename
Definition: CMainWnd.h:56
void SetDocumentMode(DOCUMENT_MODE DocumentMode)
Definition: CMainWnd.cpp:779
CSnapinCacheEntry * GetSnapinCacheEntryByGuid(PWSTR pszGuid)
Definition: CMainWnd.cpp:650
int m_iToolBarHeight
Definition: CMainWnd.h:38
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
#define NULL
Definition: types.h:112
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
HANDLE HWND
Definition: compat.h:19
#define CALLBACK
Definition: compat.h:35
char * va_list
Definition: vadefs.h:50
#define L(x)
Definition: resources.c:13
unsigned short WORD
Definition: ntddk_ex.h:93
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned int UINT
Definition: sysinfo.c:13
HLOCAL NTAPI LocalFree(HLOCAL hMem)
Definition: heapmem.c:1594
#define TEXT(s)
Definition: k32.h:28
#define MESSAGE_HANDLER(msg, func)
Definition: atlwin.h:1926
#define BEGIN_MSG_MAP(theClass)
Definition: atlwin.h:1898
#define COMMAND_ID_HANDLER(id, func)
Definition: atlwin.h:1953
#define END_MSG_MAP()
Definition: atlwin.h:1917
#define COMMAND_RANGE_HANDLER(idFirst, idLast, func)
Definition: atlwin.h:1971
PCONFIGURATION_COMPONENT_DATA RootNode
Definition: macharm.c:19
LONG_PTR LPARAM
Definition: minwindef.h:175
LONG_PTR LRESULT
Definition: minwindef.h:176
UINT_PTR WPARAM
Definition: minwindef.h:174
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
Definition: env.c:56
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:60
LPSTR LPTSTR
Definition: ms-dtyp.idl:131
LPCSTR LPCTSTR
Definition: ms-dtyp.idl:130
_In_ ULONG Number
Definition: haltypes.h:1940
#define MAKEINTRESOURCE(i)
Definition: ntverrsrc.c:25
#define WM_CLOSE
Definition: winuser.h:1649
#define WM_CREATE
Definition: winuser.h:1636
#define WM_SIZE
Definition: winuser.h:1639
#define IDC_ARROW
Definition: winuser.h:695
#define LoadIcon
Definition: winuser.h:5979
WNDCLASSEXA WNDCLASSEX
Definition: winuser.h:5885
#define WM_DESTROY
Definition: winuser.h:1637
#define WM_MDIGETACTIVE
Definition: winuser.h:1849
#define WM_MENUSELECT
Definition: winuser.h:1775
#define COLOR_BTNFACE
Definition: winuser.h:939
PVOID pBuffer
#define WM_NOTIFY
Definition: richedit.h:61
const WCHAR * str
Definition: match.c:390
#define GetWindowLongPtr
Definition: treelist.c:73
#define DWORD_PTR
Definition: treelist.c:76
uint16_t * PWSTR
Definition: typedefs.h:56
uint32_t DWORD_PTR
Definition: typedefs.h:65
#define FormatMessage
Definition: winbase.h:3518
#define FORMAT_MESSAGE_FROM_STRING
Definition: winbase.h:398
#define FORMAT_MESSAGE_ALLOCATE_BUFFER
Definition: winbase.h:396
#define FORMAT_MESSAGE_ARGUMENT_ARRAY
Definition: winbase.h:401
#define SetConsoleTitle
Definition: wincon.h:1052