1 #ifndef __SERVMAN_PRECOMP_H
2 #define __SERVMAN_PRECOMP_H
4 //#define WIN32_LEAN_AND_MEAN
6 #include <windowsx.h> /* GET_X/Y_LPARAM */
14 #pragma warning(disable : 4100)
17 #define NO_ITEM_SELECTED -1
18 #define MAX_KEY_LENGTH 256
26 typedef struct _MAIN_WND_INFO
35 ENUM_SERVICE_STATUS_PROCESS
*pAllServices
;
36 ENUM_SERVICE_STATUS_PROCESS
*pCurrentService
;
38 INT SelectedItem
;/* selection number in the list view */
43 } MAIN_WND_INFO
, *PMAIN_WND_INFO
;
46 INT_PTR CALLBACK
AboutDialogProc(HWND hDlg
, UINT message
, WPARAM wParam
, LPARAM lParam
);
47 INT_PTR CALLBACK
CreateDialogProc(HWND hDlg
, UINT message
, WPARAM wParam
, LPARAM lParam
);
48 INT_PTR CALLBACK
DeleteDialogProc(HWND hDlg
, UINT message
, WPARAM wParam
, LPARAM lParam
);
49 INT_PTR CALLBACK
ProgressDialogProc(HWND hDlg
, UINT Message
, WPARAM wParam
, LPARAM lParam
);
53 extern HINSTANCE hInstance
;
54 extern HANDLE ProcessHeap
;
57 typedef struct _MENU_HINT
61 } MENU_HINT
, *PMENU_HINT
;
63 VOID
SetMenuAndButtonStates(PMAIN_WND_INFO Info
);
64 VOID
UpdateServiceCount(PMAIN_WND_INFO Info
);
65 VOID
ChangeListViewText(PMAIN_WND_INFO Info
, ENUM_SERVICE_STATUS_PROCESS
* pService
, UINT Column
);
66 BOOL
InitMainWindowImpl(VOID
);
67 VOID
UninitMainWindowImpl(VOID
);
68 HWND
CreateMainWindow(LPCTSTR lpCaption
, int nCmdShow
);
71 VOID
SetListViewStyle(HWND hListView
, DWORD View
);
72 VOID
ListViewSelectionChanged(PMAIN_WND_INFO Info
, LPNMLISTVIEW pnmv
);
73 BOOL
CreateListView(PMAIN_WND_INFO Info
);
76 BOOL
DoStart(PMAIN_WND_INFO Info
);
79 typedef struct _STOP_INFO
83 SC_HANDLE hMainService
;
84 } STOP_INFO
, *PSTOP_INFO
;
87 BOOL
Control(PMAIN_WND_INFO Info
, HWND hProgDlg
, DWORD Control
);
88 BOOL
DoStop(PMAIN_WND_INFO Info
);
89 BOOL
DoPause(PMAIN_WND_INFO Info
);
90 BOOL
DoResume(PMAIN_WND_INFO Info
);
93 HWND
CreateProgressDialog(HWND hParent
, LPTSTR lpServiceName
, UINT Event
);
94 VOID
IncrementProgressBar(HWND hProgDlg
);
95 VOID
CompleteProgressBar(HWND hProgDlg
);
98 ENUM_SERVICE_STATUS_PROCESS
* GetSelectedService(PMAIN_WND_INFO Info
);
99 LPQUERY_SERVICE_CONFIG
GetServiceConfig(LPTSTR lpServiceName
);
100 BOOL
SetServiceConfig(LPQUERY_SERVICE_CONFIG pServiceConfig
, LPTSTR lpServiceName
, LPTSTR lpPassword
);
101 LPTSTR
GetServiceDescription(LPTSTR lpServiceName
);
102 BOOL
SetServiceDescription(LPTSTR lpServiceName
, LPTSTR lpDescription
);
103 LPTSTR
GetExecutablePath(LPTSTR lpServiceName
);
104 BOOL
RefreshServiceList(PMAIN_WND_INFO Info
);
105 BOOL
UpdateServiceStatus(ENUM_SERVICE_STATUS_PROCESS
* pService
);
106 BOOL
GetServiceList(PMAIN_WND_INFO Info
, DWORD
*NumServices
);
110 typedef struct _SERVICEPROPSHEET
113 ENUM_SERVICE_STATUS_PROCESS
*pService
;
114 HIMAGELIST hDependsImageList
;
116 HWND hDependsTreeView1
;
117 HWND hDependsTreeView2
;
118 } SERVICEPROPSHEET
, *PSERVICEPROPSHEET
;
121 HTREEITEM
AddItemToTreeView(HWND hTreeView
, HTREEITEM hRoot
, LPTSTR lpDisplayName
, LPTSTR lpServiceName
, ULONG serviceType
, BOOL bHasChildren
);
124 INT_PTR CALLBACK
StopDependsDialogProc(HWND hDlg
, UINT message
, WPARAM wParam
, LPARAM lParam
);
126 /* tv1_dependencies */
127 BOOL
TV1_Initialize(PSERVICEPROPSHEET pDlgInfo
, LPTSTR lpServiceName
);
128 VOID
TV1_AddDependantsToTree(PSERVICEPROPSHEET pDlgInfo
, HTREEITEM hParent
, LPTSTR lpServiceName
);
130 /* tv2_dependencies */
131 BOOL
TV2_Initialize(PSERVICEPROPSHEET pDlgInfo
, LPTSTR lpServiceName
);
132 VOID
TV2_AddDependantsToTree(PSERVICEPROPSHEET pDlgInfo
, HTREEITEM hParent
, LPTSTR lpServiceName
);
134 LONG APIENTRY
OpenPropSheet(PMAIN_WND_INFO Info
);
136 /* propsheet window procs */
137 INT_PTR CALLBACK
DependenciesPageProc(HWND hwndDlg
,
141 INT_PTR CALLBACK
GeneralPageProc(HWND hwndDlg
,
147 VOID
ExportFile(PMAIN_WND_INFO Info
);
150 INT
AllocAndLoadString(OUT LPTSTR
*lpTarget
,
153 DWORD
LoadAndFormatString(IN HINSTANCE hInstance
,
155 OUT LPTSTR
*lpTarget
,
157 BOOL
StatusBarLoadAndFormatString(IN HWND hStatusBar
,
159 IN HINSTANCE hInstance
,
162 BOOL
StatusBarLoadString(IN HWND hStatusBar
,
164 IN HINSTANCE hInstance
,
166 INT
GetTextFromEdit(OUT LPTSTR lpString
,
170 VOID
DisplayString(PTCHAR
);
171 HIMAGELIST
InitImageList(UINT StartResource
,
177 #endif /* __SERVMAN_PRECOMP_H */