1 #pragma once 2 3 #define WIN32_NO_STATUS 4 #define _INC_WINDOWS 5 #define COM_NO_WINDOWS_H 6 #define COBJMACROS 7 #define _DEBUG 8 #include <tchar.h> 9 #include <stdarg.h> 10 11 #include <windef.h> 12 #include <winbase.h> 13 #include <winreg.h> 14 #include <wingdi.h> 15 #include <winnls.h> 16 #include <winuser.h> 17 #include <wincon.h> 18 #include <richedit.h> 19 #include <shellapi.h> 20 #include <shlobj.h> 21 #include <shlwapi.h> 22 #include <stdio.h> 23 #include <strsafe.h> 24 #include <ndk/rtlfuncs.h> 25 #include <atlcoll.h> 26 #include <atlsimpcoll.h> 27 #include <atlstr.h> 28 #include <rappsmsg.h> 29 30 #include "resource.h" 31 #include "winmain.h" 32 33 #define APPLICATION_DATABASE_URL L"https://rapps.reactos.org/rappmgr2.cab" 34 #define APPLICATION_DATABASE_NAME L"rappmgr2.cab" 35 #define MAX_STR_LEN 256 36 37 enum AppsCategories 38 { 39 ENUM_ALL_AVAILABLE, 40 ENUM_CAT_AUDIO, 41 ENUM_CAT_VIDEO, 42 ENUM_CAT_GRAPHICS, 43 ENUM_CAT_GAMES, 44 ENUM_CAT_INTERNET, 45 ENUM_CAT_OFFICE, 46 ENUM_CAT_DEVEL, 47 ENUM_CAT_EDU, 48 ENUM_CAT_ENGINEER, 49 ENUM_CAT_FINANCE, 50 ENUM_CAT_SCIENCE, 51 ENUM_CAT_TOOLS, 52 ENUM_CAT_DRIVERS, 53 ENUM_CAT_LIBS, 54 ENUM_CAT_THEMES, 55 ENUM_CAT_OTHER, 56 ENUM_CAT_SELECTED, 57 ENUM_ALL_INSTALLED, 58 ENUM_INSTALLED_APPLICATIONS = 31, 59 ENUM_UPDATES = 32, 60 ENUM_INSTALLED_MIN = ENUM_ALL_INSTALLED, 61 ENUM_INSTALLED_MAX = ENUM_UPDATES, 62 ENUM_AVAILABLE_MIN = ENUM_ALL_AVAILABLE, 63 ENUM_AVAILABLE_MAX = ENUM_CAT_SELECTED, 64 }; 65 66 inline BOOL IsAvailableEnum(INT x) 67 { 68 return (x >= ENUM_AVAILABLE_MIN && x <= ENUM_AVAILABLE_MAX); 69 } 70 71 inline BOOL IsInstalledEnum(INT x) 72 { 73 return (x >= ENUM_INSTALLED_MIN && x <= ENUM_INSTALLED_MAX); 74 } 75