[RAPPS]
[reactos.git] / reactos / base / applications / rapps / include / installed.h
1 #pragma once
2
3 #include <windef.h>
4 #include <atlstr.h>
5
6 #define ENUM_APPLICATIONS 31
7 #define ENUM_UPDATES 32
8
9 #define ENUM_INSTALLED_MIN ENUM_ALL_COMPONENTS
10 #define ENUM_INSTALLED_MAX ENUM_UPDATES
11
12 #define IS_INSTALLED_ENUM(a) (a >= ENUM_INSTALLED_MIN && a <= ENUM_INSTALLED_MAX)
13
14 struct INSTALLED_INFO
15 {
16 HKEY hRootKey;
17 HKEY hSubKey;
18 ATL::CStringW szKeyName;
19 };
20 typedef INSTALLED_INFO *PINSTALLED_INFO;
21 typedef BOOL(CALLBACK *APPENUMPROC)(INT ItemIndex, ATL::CStringW &Name, PINSTALLED_INFO Info);
22
23 BOOL EnumInstalledApplications(INT EnumType, BOOL IsUserKey, APPENUMPROC lpEnumProc);
24 BOOL GetApplicationString(HKEY hKey, LPCWSTR lpKeyName, LPWSTR szString);
25 BOOL GetApplicationString(HKEY hKey, LPCWSTR RegName, ATL::CStringW &String);
26
27 BOOL ShowInstalledAppInfo(INT Index);
28 BOOL UninstallApplication(INT Index, BOOL bModify);
29 VOID RemoveAppFromRegistry(INT Index);