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 BOOL CALLBACK
AboutDialogProc(HWND hDlg
, UINT message
, WPARAM wParam
, LPARAM lParam
);
47 BOOL CALLBACK
CreateDialogProc(HWND hDlg
, UINT message
, WPARAM wParam
, LPARAM lParam
);
48 BOOL CALLBACK
DeleteDialogProc(HWND hDlg
, UINT message
, WPARAM wParam
, LPARAM lParam
);
49 BOOL 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 BOOL
Control(PMAIN_WND_INFO Info
, HWND hProgDlg
, DWORD Control
);
80 BOOL
DoStop(PMAIN_WND_INFO Info
);
81 BOOL
DoPause(PMAIN_WND_INFO Info
);
82 BOOL
DoResume(PMAIN_WND_INFO Info
);
85 HWND
CreateProgressDialog(HWND hParent
, LPTSTR lpServiceName
, UINT Event
);
86 VOID
IncrementProgressBar(HWND hProgDlg
);
87 VOID
CompleteProgressBar(HWND hProgDlg
);
90 ENUM_SERVICE_STATUS_PROCESS
* GetSelectedService(PMAIN_WND_INFO Info
);
91 LPQUERY_SERVICE_CONFIG
GetServiceConfig(LPTSTR lpServiceName
);
92 BOOL
SetServiceConfig(LPQUERY_SERVICE_CONFIG pServiceConfig
, LPTSTR lpServiceName
, LPTSTR lpPassword
);
93 LPTSTR
GetServiceDescription(LPTSTR lpServiceName
);
94 BOOL
SetServiceDescription(LPTSTR lpServiceName
, LPTSTR lpDescription
);
95 LPTSTR
GetExecutablePath(LPTSTR lpServiceName
);
96 BOOL
RefreshServiceList(PMAIN_WND_INFO Info
);
97 BOOL
UpdateServiceStatus(ENUM_SERVICE_STATUS_PROCESS
* pService
);
98 BOOL
GetServiceList(PMAIN_WND_INFO Info
, DWORD
*NumServices
);
101 BOOL
SetDescription(LPTSTR
, LPTSTR
);
104 LONG APIENTRY
OpenPropSheet(PMAIN_WND_INFO Info
);
107 VOID
ExportFile(PMAIN_WND_INFO Info
);
110 INT
AllocAndLoadString(OUT LPTSTR
*lpTarget
,
113 DWORD
LoadAndFormatString(IN HINSTANCE hInstance
,
115 OUT LPTSTR
*lpTarget
,
117 BOOL
StatusBarLoadAndFormatString(IN HWND hStatusBar
,
119 IN HINSTANCE hInstance
,
122 BOOL
StatusBarLoadString(IN HWND hStatusBar
,
124 IN HINSTANCE hInstance
,
126 INT
GetTextFromEdit(OUT LPTSTR lpString
,
130 VOID
DisplayString(PTCHAR
);
131 HIMAGELIST
InitImageList(UINT NumButtons
,
136 #endif /* __SERVMAN_PRECOMP_H */