- don't read the description directly from the registry
[reactos.git] / reactos / base / applications / mscutils / servman / precomp.h
1 #ifndef __SERVMAN_PRECOMP_H
2 #define __SERVMAN_PRECOMP_H
3
4 //#define WIN32_LEAN_AND_MEAN
5 #include <windows.h>
6 #include <windowsx.h> /* GET_X/Y_LPARAM */
7 #include <stdio.h>
8 #include <tchar.h>
9 #include <commctrl.h>
10 #include "resource.h"
11
12 #ifdef _MSC_VER
13 #pragma warning(disable : 4100)
14 #endif
15
16 #define NO_ITEM_SELECTED -1
17 #define MAX_KEY_LENGTH 256
18
19 typedef struct _MAIN_WND_INFO
20 {
21 HWND hMainWnd;
22 HWND hListView;
23 HWND hStatus;
24 HWND hTool;
25 HMENU hShortcutMenu;
26 int nCmdShow;
27
28 ENUM_SERVICE_STATUS_PROCESS *pAllServices;
29 ENUM_SERVICE_STATUS_PROCESS *pCurrentService;
30
31 INT SelectedItem;/* selection number in the list view */
32 BOOL bDlgOpen;
33 BOOL InMenuLoop;
34
35 } MAIN_WND_INFO, *PMAIN_WND_INFO;
36
37
38 BOOL CALLBACK AboutDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
39 BOOL CALLBACK CreateDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
40 BOOL CALLBACK DeleteDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
41 BOOL CALLBACK ProgressDialogProc(HWND hDlg, UINT Message, WPARAM wParam, LPARAM lParam);
42
43
44 /* servman.c */
45 extern HINSTANCE hInstance;
46 extern HANDLE ProcessHeap;
47
48 /* mainwnd.c */
49 typedef struct _MENU_HINT
50 {
51 WORD CmdId;
52 UINT HintId;
53 } MENU_HINT, *PMENU_HINT;
54
55 BOOL InitMainWindowImpl(VOID);
56 VOID UninitMainWindowImpl(VOID);
57 HWND CreateMainWindow(LPCTSTR lpCaption, int nCmdShow);
58
59 /* start */
60 BOOL DoStart(PMAIN_WND_INFO Info);
61
62 /* control */
63 BOOL DoStop(PMAIN_WND_INFO Info);
64 BOOL DoPause(PMAIN_WND_INFO Info);
65 BOOL DoResume(PMAIN_WND_INFO Info);
66
67 /* progress.c */
68 HWND CreateProgressDialog(HWND hParent, LPTSTR lpServiceName, UINT Event);
69 VOID IncrementProgressBar(HWND hProgDlg);
70 VOID CompleteProgressBar(HWND hProgDlg);
71
72 /* query.c */
73 ENUM_SERVICE_STATUS_PROCESS* GetSelectedService(PMAIN_WND_INFO Info);
74 LPQUERY_SERVICE_CONFIG GetServiceConfig(LPTSTR lpServiceName);
75 LPTSTR GetServiceDescription(LPTSTR lpServiceName);
76 LPTSTR GetExecutablePath(LPTSTR lpServiceName);
77 BOOL RefreshServiceList(PMAIN_WND_INFO Info);
78 BOOL UpdateServiceStatus(ENUM_SERVICE_STATUS_PROCESS* pService);
79
80 /* reg */
81 BOOL SetDescription(LPTSTR, LPTSTR);
82
83 /* propsheet.c */
84 LONG APIENTRY OpenPropSheet(PMAIN_WND_INFO Info);
85
86 /* export.c */
87 VOID ExportFile(PMAIN_WND_INFO Info);
88
89 /* misc.c */
90 INT AllocAndLoadString(OUT LPTSTR *lpTarget,
91 IN HINSTANCE hInst,
92 IN UINT uID);
93 DWORD LoadAndFormatString(IN HINSTANCE hInstance,
94 IN UINT uID,
95 OUT LPTSTR *lpTarget,
96 ...);
97 BOOL StatusBarLoadAndFormatString(IN HWND hStatusBar,
98 IN INT PartId,
99 IN HINSTANCE hInstance,
100 IN UINT uID,
101 ...);
102 BOOL StatusBarLoadString(IN HWND hStatusBar,
103 IN INT PartId,
104 IN HINSTANCE hInstance,
105 IN UINT uID);
106 INT GetTextFromEdit(OUT LPTSTR lpString,
107 IN HWND hDlg,
108 IN UINT Res);
109 VOID GetError(VOID);
110 VOID DisplayString(PTCHAR);
111 HIMAGELIST InitImageList(UINT NumButtons,
112 UINT StartResource,
113 UINT Width,
114 UINT Height);
115
116 #endif /* __SERVMAN_PRECOMP_H */