2006-11-08 11:47:44 +00:00
|
|
|
#ifndef __SERVMAN_PRECOMP_H
|
|
|
|
#define __SERVMAN_PRECOMP_H
|
|
|
|
|
|
|
|
//#define WIN32_LEAN_AND_MEAN
|
|
|
|
#include <windows.h>
|
|
|
|
#include <windowsx.h> /* GET_X/Y_LPARAM */
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <tchar.h>
|
|
|
|
#include <commctrl.h>
|
2007-08-28 19:54:25 +00:00
|
|
|
#include <shlobj.h>
|
2006-11-08 11:47:44 +00:00
|
|
|
#include "resource.h"
|
|
|
|
|
|
|
|
#ifdef _MSC_VER
|
|
|
|
#pragma warning(disable : 4100)
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define NO_ITEM_SELECTED -1
|
|
|
|
#define MAX_KEY_LENGTH 256
|
|
|
|
|
2007-08-29 15:46:52 +00:00
|
|
|
#define LVNAME 0
|
|
|
|
#define LVDESC 1
|
|
|
|
#define LVSTATUS 2
|
|
|
|
#define LVSTARTUP 3
|
|
|
|
#define LVLOGONAS 4
|
|
|
|
|
2006-11-08 11:47:44 +00:00
|
|
|
typedef struct _MAIN_WND_INFO
|
|
|
|
{
|
|
|
|
HWND hMainWnd;
|
|
|
|
HWND hListView;
|
|
|
|
HWND hStatus;
|
|
|
|
HWND hTool;
|
|
|
|
HMENU hShortcutMenu;
|
|
|
|
int nCmdShow;
|
|
|
|
|
2007-08-25 13:41:44 +00:00
|
|
|
ENUM_SERVICE_STATUS_PROCESS *pAllServices;
|
2007-08-27 19:31:09 +00:00
|
|
|
ENUM_SERVICE_STATUS_PROCESS *pCurrentService;
|
2006-11-08 11:47:44 +00:00
|
|
|
|
2007-08-24 18:27:12 +00:00
|
|
|
INT SelectedItem;/* selection number in the list view */
|
|
|
|
BOOL bDlgOpen;
|
2007-08-28 19:54:25 +00:00
|
|
|
BOOL bInMenuLoop;
|
|
|
|
BOOL bIsUserAnAdmin;
|
2006-11-08 11:47:44 +00:00
|
|
|
|
|
|
|
} MAIN_WND_INFO, *PMAIN_WND_INFO;
|
|
|
|
|
|
|
|
|
|
|
|
BOOL CALLBACK AboutDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
|
|
|
|
BOOL CALLBACK CreateDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
|
|
|
|
BOOL CALLBACK DeleteDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
|
|
|
|
BOOL CALLBACK ProgressDialogProc(HWND hDlg, UINT Message, WPARAM wParam, LPARAM lParam);
|
|
|
|
|
|
|
|
|
|
|
|
/* servman.c */
|
|
|
|
extern HINSTANCE hInstance;
|
|
|
|
extern HANDLE ProcessHeap;
|
|
|
|
|
|
|
|
/* mainwnd.c */
|
|
|
|
typedef struct _MENU_HINT
|
|
|
|
{
|
|
|
|
WORD CmdId;
|
|
|
|
UINT HintId;
|
|
|
|
} MENU_HINT, *PMENU_HINT;
|
|
|
|
|
2007-08-29 15:46:52 +00:00
|
|
|
VOID ChangeListViewText(PMAIN_WND_INFO Info, ENUM_SERVICE_STATUS_PROCESS* pService, UINT Column);
|
2006-11-08 11:47:44 +00:00
|
|
|
BOOL InitMainWindowImpl(VOID);
|
|
|
|
VOID UninitMainWindowImpl(VOID);
|
|
|
|
HWND CreateMainWindow(LPCTSTR lpCaption, int nCmdShow);
|
|
|
|
|
2007-08-29 18:10:58 +00:00
|
|
|
/* listview.c */
|
|
|
|
VOID SetListViewStyle(HWND hListView, DWORD View);
|
|
|
|
VOID ListViewSelectionChanged(PMAIN_WND_INFO Info, LPNMLISTVIEW pnmv);
|
|
|
|
BOOL CreateListView(PMAIN_WND_INFO Info);
|
|
|
|
|
2006-11-08 11:47:44 +00:00
|
|
|
/* start */
|
|
|
|
BOOL DoStart(PMAIN_WND_INFO Info);
|
|
|
|
|
|
|
|
/* control */
|
2007-08-25 14:51:36 +00:00
|
|
|
BOOL DoStop(PMAIN_WND_INFO Info);
|
|
|
|
BOOL DoPause(PMAIN_WND_INFO Info);
|
|
|
|
BOOL DoResume(PMAIN_WND_INFO Info);
|
2007-08-24 18:27:12 +00:00
|
|
|
|
|
|
|
/* progress.c */
|
2007-08-25 14:51:36 +00:00
|
|
|
HWND CreateProgressDialog(HWND hParent, LPTSTR lpServiceName, UINT Event);
|
2007-08-24 18:27:12 +00:00
|
|
|
VOID IncrementProgressBar(HWND hProgDlg);
|
|
|
|
VOID CompleteProgressBar(HWND hProgDlg);
|
2006-11-08 11:47:44 +00:00
|
|
|
|
|
|
|
/* query.c */
|
|
|
|
ENUM_SERVICE_STATUS_PROCESS* GetSelectedService(PMAIN_WND_INFO Info);
|
2007-08-28 14:49:47 +00:00
|
|
|
LPQUERY_SERVICE_CONFIG GetServiceConfig(LPTSTR lpServiceName);
|
2007-08-29 09:42:31 +00:00
|
|
|
BOOL SetServiceConfig(LPQUERY_SERVICE_CONFIG pServiceConfig, LPTSTR lpServiceName, LPTSTR lpPassword);
|
2007-08-28 14:49:47 +00:00
|
|
|
LPTSTR GetServiceDescription(LPTSTR lpServiceName);
|
2007-08-30 12:27:11 +00:00
|
|
|
BOOL SetServiceDescription(LPTSTR lpServiceName, LPTSTR lpDescription);
|
2007-08-28 14:49:47 +00:00
|
|
|
LPTSTR GetExecutablePath(LPTSTR lpServiceName);
|
2006-11-08 11:47:44 +00:00
|
|
|
BOOL RefreshServiceList(PMAIN_WND_INFO Info);
|
2007-08-27 19:31:09 +00:00
|
|
|
BOOL UpdateServiceStatus(ENUM_SERVICE_STATUS_PROCESS* pService);
|
2007-08-29 18:10:58 +00:00
|
|
|
BOOL GetServiceList(PMAIN_WND_INFO Info, DWORD *NumServices);
|
2007-08-25 14:51:36 +00:00
|
|
|
|
|
|
|
/* reg */
|
|
|
|
BOOL SetDescription(LPTSTR, LPTSTR);
|
2006-11-08 11:47:44 +00:00
|
|
|
|
|
|
|
/* propsheet.c */
|
|
|
|
LONG APIENTRY OpenPropSheet(PMAIN_WND_INFO Info);
|
|
|
|
|
|
|
|
/* export.c */
|
|
|
|
VOID ExportFile(PMAIN_WND_INFO Info);
|
|
|
|
|
|
|
|
/* misc.c */
|
|
|
|
INT AllocAndLoadString(OUT LPTSTR *lpTarget,
|
|
|
|
IN HINSTANCE hInst,
|
|
|
|
IN UINT uID);
|
|
|
|
DWORD LoadAndFormatString(IN HINSTANCE hInstance,
|
|
|
|
IN UINT uID,
|
|
|
|
OUT LPTSTR *lpTarget,
|
|
|
|
...);
|
|
|
|
BOOL StatusBarLoadAndFormatString(IN HWND hStatusBar,
|
|
|
|
IN INT PartId,
|
|
|
|
IN HINSTANCE hInstance,
|
|
|
|
IN UINT uID,
|
|
|
|
...);
|
|
|
|
BOOL StatusBarLoadString(IN HWND hStatusBar,
|
|
|
|
IN INT PartId,
|
|
|
|
IN HINSTANCE hInstance,
|
|
|
|
IN UINT uID);
|
|
|
|
INT GetTextFromEdit(OUT LPTSTR lpString,
|
|
|
|
IN HWND hDlg,
|
|
|
|
IN UINT Res);
|
|
|
|
VOID GetError(VOID);
|
|
|
|
VOID DisplayString(PTCHAR);
|
|
|
|
HIMAGELIST InitImageList(UINT NumButtons,
|
|
|
|
UINT StartResource,
|
|
|
|
UINT Width,
|
|
|
|
UINT Height);
|
|
|
|
|
|
|
|
#endif /* __SERVMAN_PRECOMP_H */
|