18#define UNINSTALL_SUBKEY L"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall"
24 while (InfoListPosition)
41 while (CurrentListPosition)
60 while (CurrentListPosition)
64 if (IncludeAll ||
Type ==
Info->iCategory)
78 CPathW WildcardPath = AppsPath;
79 WildcardPath +=
L"*.txt";
90 CStringW szPkgName = FindFileData.cFileName;
189 if (pInfo && pInfo->
Valid())
269 CPathW DirWithFilter = Dir;
280 szTmp += FindFileData.cFileName;
301 CPathW ScrnshotFolder = AppsPath;
302 ScrnshotFolder +=
L"screenshots";
static VOID ClearList(CAtlList< CAppInfo * > &list)
static void DeleteWithWildcard(const CPathW &Dir, const CStringW &Filter)
static HKEY g_RootKeyEnum[3]
static REGSAM g_RegSamEnum[3]
static HKEY GetRootKeyInfo(UINT Index, REGSAM &RegSam)
BOOL IsInstalledEnum(INT x)
@ ENUM_INSTALLED_APPLICATIONS
#define RAPPS_DATABASE_SUBDIR
#define APPLICATION_DATABASE_URL
#define APPLICATION_DATABASE_NAME
SETTINGS_INFO SettingsInfo
BOOL ExtractFilesFromCab(const CStringW &szCabName, const CStringW &szCabDir, const CStringW &szOutputDir, EXTRACTCALLBACK Callback, void *Cookie)
POSITION AddTail(INARGTYPE element)
POSITION GetHeadPosition() const
E & GetNext(_Inout_ POSITION &pos)
LONG Open(HKEY hKeyParent, LPCTSTR lpszKeyName, REGSAM samDesired=KEY_READ|KEY_WRITE) noexcept
LONG RecurseDeleteKey(LPCTSTR lpszKey) noexcept
void ReleaseBuffer(_In_ int nNewLength=-1)
static DWORD RemoveInstalledAppFromRegistry(const CAppInfo *Info)
static CInstalledApplicationInfo * CreateInstalledAppByRegistryKey(LPCWSTR KeyName, HKEY hKeyParent, UINT KeyIndex)
CAvailableApplicationInfo * FindAvailableByPackageName(const CStringW &name)
CAppInfo * FindByPackageName(const CStringW &name)
CAtlList< CAppInfo * > m_Available
CAppDB(const CStringW &path)
static CInstalledApplicationInfo * EnumerateRegistry(CAtlList< CAppInfo * > *List, LPCWSTR Name)
VOID GetApps(CAtlList< CAppInfo * > &List, AppsCategories Type) const
static HKEY EnumInstalledRootKey(UINT Index, REGSAM &RegSam)
CAtlList< CAppInfo * > m_Installed
static CInstalledApplicationInfo * CreateInstalledAppInstance(LPCWSTR KeyName, BOOL User, REGSAM WowSam)
const CStringW szIdentifier
BOOL GetInt(const CStringW &KeyName, INT &iResult)
virtual BOOL Valid() const override
static LSTATUS(WINAPI *pRegDeleteTreeW)(HKEY
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
#define ERROR_INVALID_PARAMETER
#define INVALID_HANDLE_VALUE
BOOL WINAPI DeleteFileW(IN LPCWSTR lpFileName)
BOOL WINAPI CreateDirectoryW(IN LPCWSTR lpPathName, IN LPSECURITY_ATTRIBUTES lpSecurityAttributes)
BOOL WINAPI RemoveDirectoryW(IN LPCWSTR lpPathName)
HANDLE WINAPI FindFirstFileW(IN LPCWSTR lpFileName, OUT LPWIN32_FIND_DATAW lpFindFileData)
BOOL WINAPI FindClose(HANDLE hFindFile)
BOOL WINAPI FindNextFileW(IN HANDLE hFindFile, OUT LPWIN32_FIND_DATAW lpFindFileData)
static const WCHAR IconPath[]
void WINAPI PathRemoveExtensionW(LPWSTR lpszPath)
int WINAPI StrCmpIW(LPCWSTR lpszStr, LPCWSTR lpszComp)
_Must_inspect_result_ _In_opt_ PFLT_FILTER Filter
#define ERROR_ALREADY_EXISTS
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
CPathT< CStringW > CPathW
#define FILE_ATTRIBUTE_DIRECTORY
VOID DownloadApplicationsDB(LPCWSTR lpUrl, BOOL IsOfficial)
WCHAR szSourceURL[INTERNET_MAX_URL_LENGTH]
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
_In_ WDFCOLLECTION _In_ ULONG Index
_Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING KeyName
_Must_inspect_result_ _In_ WDFCMRESLIST List
DWORD WINAPI GetLastError(void)
#define ERROR_OPEN_FAILED
#define HKEY_LOCAL_MACHINE
#define HKEY_CURRENT_USER