1 #define WIN32_NO_STATUS
3 #define COM_NO_WINDOWS_H
22 #define APPLICATION_DATEBASE_URL L"http://svn.reactos.org/packages/rappmgr.cab"
25 #define MAX_STR_LEN 256
27 #define LISTVIEW_ICON_SIZE 24
28 #define TREEVIEW_ICON_SIZE 24
30 /* EnumType flags for EnumInstalledApplications */
31 #define ENUM_ALL_COMPONENTS 30
32 #define ENUM_APPLICATIONS 31
33 #define ENUM_UPDATES 32
34 /* EnumType flags for EnumAvailableApplications */
35 #define ENUM_ALL_AVAILABLE 0
36 #define ENUM_CAT_AUDIO 1
37 #define ENUM_CAT_VIDEO 2
38 #define ENUM_CAT_GRAPHICS 3
39 #define ENUM_CAT_GAMES 4
40 #define ENUM_CAT_INTERNET 5
41 #define ENUM_CAT_OFFICE 6
42 #define ENUM_CAT_DEVEL 7
43 #define ENUM_CAT_EDU 8
44 #define ENUM_CAT_ENGINEER 9
45 #define ENUM_CAT_FINANCE 10
46 #define ENUM_CAT_SCIENCE 11
47 #define ENUM_CAT_TOOLS 12
48 #define ENUM_CAT_DRIVERS 13
49 #define ENUM_CAT_LIBS 14
50 #define ENUM_CAT_OTHER 15
52 #define ENUM_INSTALLED_MIN ENUM_ALL_COMPONENTS
53 #define ENUM_INSTALLED_MAX ENUM_UPDATES
54 #define ENUM_AVAILABLE_MIN ENUM_ALL_AVAILABLE
55 #define ENUM_AVAILABLE_MAX ENUM_CAT_OTHER
57 #define IS_INSTALLED_ENUM(a) (a >= ENUM_INSTALLED_MIN && a <= ENUM_INSTALLED_MAX)
58 #define IS_AVAILABLE_ENUM(a) (a >= ENUM_AVAILABLE_MIN && a <= ENUM_AVAILABLE_MAX)
61 VOID
ShowAboutDialog(VOID
);
67 WCHAR szName
[MAX_PATH
];
68 WCHAR szRegName
[MAX_PATH
];
69 WCHAR szVersion
[MAX_PATH
];
70 WCHAR szLicence
[MAX_PATH
];
71 WCHAR szDesc
[MAX_PATH
];
72 WCHAR szSize
[MAX_PATH
];
73 WCHAR szUrlSite
[MAX_PATH
];
74 WCHAR szUrlDownload
[MAX_PATH
];
75 WCHAR szCDPath
[MAX_PATH
];
77 } APPLICATION_INFO
, *PAPPLICATION_INFO
;
83 WCHAR szKeyName
[MAX_PATH
];
85 } INSTALLED_INFO
, *PINSTALLED_INFO
;
92 WCHAR szDownloadDir
[MAX_PATH
];
101 } SETTINGS_INFO
, *PSETTINGS_INFO
;
104 typedef BOOL (CALLBACK
*AVAILENUMPROC
)(APPLICATION_INFO Info
);
105 BOOL
EnumAvailableApplications(INT EnumType
, AVAILENUMPROC lpEnumProc
);
106 BOOL
ShowAvailableAppInfo(INT Index
);
107 BOOL
UpdateAppsDB(VOID
);
110 BOOL
InstallApplication(INT Index
);
113 typedef BOOL (CALLBACK
*APPENUMPROC
)(INT ItemIndex
, LPWSTR lpName
, INSTALLED_INFO Info
);
114 BOOL
EnumInstalledApplications(INT EnumType
, BOOL IsUserKey
, APPENUMPROC lpEnumProc
);
115 BOOL
GetApplicationString(HKEY hKey
, LPWSTR lpKeyName
, LPWSTR lpString
);
116 BOOL
ShowInstalledAppInfo(INT Index
);
117 BOOL
UninstallApplication(INT Index
, BOOL bModify
);
118 BOOL
IsInstalledApplication(LPWSTR lpRegName
, BOOL IsUserKey
);
119 VOID
RemoveAppFromRegistry(INT Index
);
122 extern HWND hMainWnd
;
123 extern HINSTANCE hInst
;
124 extern INT SelectedEnumType
;
125 extern SETTINGS_INFO SettingsInfo
;
126 VOID
SaveSettings(HWND hwnd
);
127 VOID
FillDefaultSettings(PSETTINGS_INFO pSettingsInfo
);
130 extern HWND hListView
;
131 extern BOOL bAscending
;
132 BOOL
CreateListView(HWND hwnd
);
133 BOOL
ListViewAddColumn(INT Index
, LPWSTR lpText
, INT Width
, INT Format
);
134 INT
ListViewAddItem(INT ItemIndex
, INT IconIndex
, LPWSTR lpText
, LPARAM lParam
);
135 INT CALLBACK
ListViewCompareFunc(LPARAM lParam1
, LPARAM lParam2
, LPARAM lParamSort
);
136 PVOID
ListViewGetlParam(INT Index
);
139 BOOL
DownloadApplication(INT Index
);
140 VOID
DownloadApplicationsDB(LPWSTR lpUrl
);
143 INT
GetSystemColorDepth(VOID
);
144 int GetWindowWidth(HWND hwnd
);
145 int GetWindowHeight(HWND hwnd
);
146 int GetClientWindowWidth(HWND hwnd
);
147 int GetClientWindowHeight(HWND hwnd
);
148 VOID
CopyTextToClipboard(LPCWSTR lpszText
);
149 VOID
SetWelcomeText(VOID
);
150 VOID
ShowPopupMenu(HWND hwnd
, UINT MenuID
);
151 BOOL
StartProcess(LPWSTR lpPath
, BOOL Wait
);
152 BOOL
ExtractFilesFromCab(LPWSTR lpCabName
, LPWSTR lpOutputPath
);
155 BOOL
WriteLogMessage(WORD wType
, DWORD dwEventID
, LPWSTR lpMsg
);
158 INT
ParserGetString(LPCWSTR section
, LPCWSTR entry
, LPWSTR buffer
, UINT len
, LPCWSTR filename
);
159 UINT
ParserGetInt(LPCWSTR section
, LPCWSTR entry
, LPCWSTR filename
);
162 extern HWND hRichEdit
;
164 BOOL
CreateRichEdit(HWND hwnd
);
165 VOID
RichEditOnLink(HWND hwnd
, ENLINK
*Link
);
166 VOID
InsertRichEditText(LPCWSTR lpszText
, DWORD dwEffects
);
167 VOID
NewRichEditText(LPCWSTR lpszText
, DWORD dwEffects
);
170 VOID
CreateSettingsDlg(HWND hwnd
);
173 extern HWND hVSplitter
;
174 extern HWND hHSplitter
;
175 BOOL
CreateVSplitBar(HWND hwnd
);
176 BOOL
CreateHSplitBar(HWND hwnd
);
177 int GetHSplitterPos(VOID
);
178 VOID
SetHSplitterPos(int Pos
);
181 extern HWND hStatusBar
;
182 BOOL
CreateStatusBar(HWND hwnd
);
183 VOID
SetStatusBarText(LPCWSTR lpszText
);
186 extern HWND hToolBar
;
187 extern HWND hSearchBar
;
188 BOOL
CreateToolBar(HWND hwnd
);
189 VOID
ToolBarOnGetDispInfo(LPTOOLTIPTEXT lpttt
);
192 extern HWND hTreeView
;
193 BOOL
CreateTreeView(HWND hwnd
);
194 HTREEITEM
TreeViewAddItem(HTREEITEM hParent
, LPWSTR lpText
, INT Image
, INT SelectedImage
, LPARAM lParam
);