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