diff --git a/reactos/base/applications/mscutils/servman/control.c b/reactos/base/applications/mscutils/servman/control.c index 665fb645456..c8c2d1cfd9b 100644 --- a/reactos/base/applications/mscutils/servman/control.c +++ b/reactos/base/applications/mscutils/servman/control.c @@ -9,7 +9,7 @@ #include "precomp.h" -BOOL +static BOOL Control(PMAIN_WND_INFO Info, HWND hProgDlg, DWORD Control) @@ -131,3 +131,67 @@ Control(PMAIN_WND_INFO Info, return FALSE; } + +BOOL DoStop(PMAIN_WND_INFO Info) +{ + BOOL ret = FALSE; + HWND hProgDlg; + + hProgDlg = CreateProgressDialog(Info->hMainWnd, + Info->CurrentService->lpServiceName, + IDS_PROGRESS_INFO_STOP); + + if (hProgDlg) + { + ret = Control(Info, + hProgDlg, + SERVICE_CONTROL_STOP); + + SendMessage(hProgDlg, WM_DESTROY, 0, 0); + } + + return ret; +} + +BOOL DoPause(PMAIN_WND_INFO Info) +{ + BOOL ret = FALSE; + HWND hProgDlg; + + hProgDlg = CreateProgressDialog(Info->hMainWnd, + Info->CurrentService->lpServiceName, + IDS_PROGRESS_INFO_PAUSE); + + if (hProgDlg) + { + ret = Control(Info, + hProgDlg, + SERVICE_CONTROL_STOP); + + SendMessage(hProgDlg, WM_DESTROY, 0, 0); + } + + return ret; +} + +BOOL DoResume(PMAIN_WND_INFO Info) +{ + BOOL ret = FALSE; + HWND hProgDlg; + + hProgDlg = CreateProgressDialog(Info->hMainWnd, + Info->CurrentService->lpServiceName, + IDS_PROGRESS_INFO_RESUME); + + if (hProgDlg) + { + ret = Control(Info, + hProgDlg, + SERVICE_CONTROL_STOP); + + SendMessage(hProgDlg, WM_DESTROY, 0, 0); + } + + return ret; +} + diff --git a/reactos/base/applications/mscutils/servman/lang/bg-BG.rc b/reactos/base/applications/mscutils/servman/lang/bg-BG.rc index e8156470d27..ed02586b2a8 100644 --- a/reactos/base/applications/mscutils/servman/lang/bg-BG.rc +++ b/reactos/base/applications/mscutils/servman/lang/bg-BG.rc @@ -214,6 +214,8 @@ STRINGTABLE DISCARDABLE BEGIN IDS_PROGRESS_INFO_START "ÐåàêòÎÑ ñå îïèòâà äà ïóñíå ñëåäíàòà óñëóãà" IDS_PROGRESS_INFO_STOP "ÐåàêòÎÑ ñå îïèòâà äà ñïðå ñëåäíàòà óñëóãà" + IDS_PROGRESS_INFO_PAUSE "ReactOS is attempting to pause the following service" + IDS_PROGRESS_INFO_RESUME "ReactOS is attempting to resume the following service" IDS_CREATE_SUCCESS "Óñëóãàòà å óñïåøíî ñúçäàäåíà" IDS_CREATE_REQ "Ïîëåòàòà, îòáåëÿçàíè ñúñ \nçâåçäè÷êà ñà íåàçàäúëæèòåëíè" IDS_DELETE_STOP "Òðÿáâà ðú÷íî äà ñïðåòå óñëóãàòà, ïðåäè äà ÿ èçòðèåòå!" diff --git a/reactos/base/applications/mscutils/servman/lang/de-DE.rc b/reactos/base/applications/mscutils/servman/lang/de-DE.rc index 306afabc097..7047647c685 100644 --- a/reactos/base/applications/mscutils/servman/lang/de-DE.rc +++ b/reactos/base/applications/mscutils/servman/lang/de-DE.rc @@ -210,6 +210,8 @@ STRINGTABLE DISCARDABLE BEGIN IDS_PROGRESS_INFO_START "ReactOS versucht den folgenden Dienst zu starten" IDS_PROGRESS_INFO_STOP "ReactOS versucht den folgenden Dienst zu beenden" + IDS_PROGRESS_INFO_PAUSE "ReactOS is attempting to pause the following service" + IDS_PROGRESS_INFO_RESUME "ReactOS is attempting to resume the following service" IDS_CREATE_SUCCESS "Dienst wurde erfolgreich erstellt" IDS_CREATE_REQ "Mit einem Sternchen gekennzeichnete Felder sind erforderlich" IDS_DELETE_STOP "Sie müssen den Dienst manuell beenden, bevor er gelöscht werden kann!" diff --git a/reactos/base/applications/mscutils/servman/lang/en-US.rc b/reactos/base/applications/mscutils/servman/lang/en-US.rc index 0e1121a5c9d..428fdbf9f12 100644 --- a/reactos/base/applications/mscutils/servman/lang/en-US.rc +++ b/reactos/base/applications/mscutils/servman/lang/en-US.rc @@ -208,8 +208,10 @@ END STRINGTABLE DISCARDABLE BEGIN - IDS_PROGRESS_INFO_START "ReactOS is attempting to start the following service" - IDS_PROGRESS_INFO_STOP "ReactOS is attempting to stop the following service" + IDS_PROGRESS_INFO_START "ReactOS is attempting to start the following service" + IDS_PROGRESS_INFO_STOP "ReactOS is attempting to stop the following service" + IDS_PROGRESS_INFO_PAUSE "ReactOS is attempting to pause the following service" + IDS_PROGRESS_INFO_RESUME "ReactOS is attempting to resume the following service" IDS_CREATE_SUCCESS "Service Created Succesfully" IDS_CREATE_REQ "Fields marked with an\nasterix are mandatory" IDS_DELETE_STOP "You must manually stop the service before deleting!" diff --git a/reactos/base/applications/mscutils/servman/lang/fr-FR.rc b/reactos/base/applications/mscutils/servman/lang/fr-FR.rc index e1f7b29f6fe..979b06eadf0 100644 --- a/reactos/base/applications/mscutils/servman/lang/fr-FR.rc +++ b/reactos/base/applications/mscutils/servman/lang/fr-FR.rc @@ -214,6 +214,8 @@ STRINGTABLE DISCARDABLE BEGIN IDS_PROGRESS_INFO_START "ReactOS essaye de démarrer le service suivant" IDS_PROGRESS_INFO_STOP "ReactOS essaye d'arrêter le service suivant" + IDS_PROGRESS_INFO_PAUSE "ReactOS is attempting to pause the following service" + IDS_PROGRESS_INFO_RESUME "ReactOS is attempting to resume the following service" IDS_CREATE_SUCCESS "Service créé" IDS_CREATE_REQ "Les champs marqués d'une astérisque\nasont obligatoires" IDS_DELETE_STOP "Vous devez arrêter le service avant de le supprimer!" diff --git a/reactos/base/applications/mscutils/servman/lang/id-ID.rc b/reactos/base/applications/mscutils/servman/lang/id-ID.rc index 5e0a83b1597..db2b8d42a22 100644 --- a/reactos/base/applications/mscutils/servman/lang/id-ID.rc +++ b/reactos/base/applications/mscutils/servman/lang/id-ID.rc @@ -210,6 +210,8 @@ STRINGTABLE DISCARDABLE BEGIN IDS_PROGRESS_INFO_START "ReactOS sedang mencoba untuk memulai layanan berikut" IDS_PROGRESS_INFO_STOP "ReactOS sedang mencoba untuk menghentikan layanan berikut" + IDS_PROGRESS_INFO_PAUSE "ReactOS is attempting to pause the following service" + IDS_PROGRESS_INFO_RESUME "ReactOS is attempting to resume the following service" IDS_CREATE_SUCCESS "Layanan Dibuat Dengan Sukses" IDS_CREATE_REQ "Field yang ditandai dengan\nbintang adalah mandatori" IDS_DELETE_STOP "Anda harus menghentikan layanan sebelum menghapus!" diff --git a/reactos/base/applications/mscutils/servman/lang/it-IT.rc b/reactos/base/applications/mscutils/servman/lang/it-IT.rc index ca325353cfe..b96b497750a 100644 --- a/reactos/base/applications/mscutils/servman/lang/it-IT.rc +++ b/reactos/base/applications/mscutils/servman/lang/it-IT.rc @@ -210,6 +210,8 @@ STRINGTABLE DISCARDABLE BEGIN IDS_PROGRESS_INFO_START "ReactOS sta avviando il seguente servizio" IDS_PROGRESS_INFO_STOP "ReactOS sta fermando il seguente servizio" + IDS_PROGRESS_INFO_PAUSE "ReactOS is attempting to pause the following service" + IDS_PROGRESS_INFO_RESUME "ReactOS is attempting to resume the following service" IDS_CREATE_SUCCESS "Servizio creato regolarmente" IDS_CREATE_REQ "I campi marcati con un asterisco\nsono obbligatori" IDS_DELETE_STOP "Devi fermare il servizio prima di cancellare!" diff --git a/reactos/base/applications/mscutils/servman/lang/pl-PL.rc b/reactos/base/applications/mscutils/servman/lang/pl-PL.rc index f1962c563f2..7e392e98ba9 100644 --- a/reactos/base/applications/mscutils/servman/lang/pl-PL.rc +++ b/reactos/base/applications/mscutils/servman/lang/pl-PL.rc @@ -217,6 +217,8 @@ STRINGTABLE DISCARDABLE BEGIN IDS_PROGRESS_INFO_START "ReactOS usi³uje uruchomiæ nastêpuj¹c¹ us³ugê" IDS_PROGRESS_INFO_STOP "ReactOS usi³uje zatrzymaæ nastêpuj¹c¹ us³ugê" + IDS_PROGRESS_INFO_PAUSE "ReactOS is attempting to pause the following service" + IDS_PROGRESS_INFO_RESUME "ReactOS is attempting to resume the following service" IDS_CREATE_SUCCESS "Us³uga utworzona pomyœlnie" IDS_CREATE_REQ "Pole zaznaczone wraz z \ nasterix jest obowi¹zkowy" IDS_DELETE_STOP "Musisz rêcznie zatrzymaæ us³ugê przed usuwaniem!" diff --git a/reactos/base/applications/mscutils/servman/lang/ru-RU.rc b/reactos/base/applications/mscutils/servman/lang/ru-RU.rc index 68f9068767b..ee2a409e2c7 100644 --- a/reactos/base/applications/mscutils/servman/lang/ru-RU.rc +++ b/reactos/base/applications/mscutils/servman/lang/ru-RU.rc @@ -209,6 +209,8 @@ STRINGTABLE DISCARDABLE BEGIN IDS_PROGRESS_INFO_START "ReactOS ïûòàåòñÿ çàïóñòèòü ñëóæáó" IDS_PROGRESS_INFO_STOP "ReactOS ïûòàåòñÿ îñòàíîâèòü ñëóæáó" + IDS_PROGRESS_INFO_PAUSE "ReactOS is attempting to pause the following service" + IDS_PROGRESS_INFO_RESUME "ReactOS is attempting to resume the following service" IDS_CREATE_SUCCESS "Ñîçäàíèå ñëóæáû óñïåøíî çàâåðøåíî" IDS_CREATE_REQ "* = îáÿçàòåëüíûå ïîëÿ" IDS_DELETE_STOP "Âû äîëæíû âðó÷íóþ îñòàíîâèòü ñëóæáó ïåðåä óäàëåíèåì!" diff --git a/reactos/base/applications/mscutils/servman/lang/th-TH.rc b/reactos/base/applications/mscutils/servman/lang/th-TH.rc index 1e3ae267e93..a48e278b2b1 100644 --- a/reactos/base/applications/mscutils/servman/lang/th-TH.rc +++ b/reactos/base/applications/mscutils/servman/lang/th-TH.rc @@ -219,6 +219,8 @@ STRINGTABLE DISCARDABLE BEGIN IDS_PROGRESS_INFO_START "ReactOS is attempting to start the following service" IDS_PROGRESS_INFO_STOP "ReactOS is attempting to stop the following service" + IDS_PROGRESS_INFO_PAUSE "ReactOS is attempting to pause the following service" + IDS_PROGRESS_INFO_RESUME "ReactOS is attempting to resume the following service" IDS_CREATE_SUCCESS "Service Created Succesfully" IDS_CREATE_REQ "Fields marked with an\nasterix are mandatory" IDS_DELETE_STOP "You must manually stop the service before deleting!" diff --git a/reactos/base/applications/mscutils/servman/mainwnd.c b/reactos/base/applications/mscutils/servman/mainwnd.c index f5974ed99fa..069b40ba1be 100644 --- a/reactos/base/applications/mscutils/servman/mainwnd.c +++ b/reactos/base/applications/mscutils/servman/mainwnd.c @@ -644,24 +644,16 @@ MainWndCommand(PMAIN_WND_INFO Info, break; case ID_STOP: - { if (DoStop(Info)) SetMenuAndButtonStates(Info); - } break; case ID_PAUSE: - { - //Control(Info, - // SERVICE_CONTROL_PAUSE); - } + DoPause(Info); break; case ID_RESUME: - { - //Control(Info, - // SERVICE_CONTROL_CONTINUE ); - } + DoResume(Info); break; case ID_RESTART: diff --git a/reactos/base/applications/mscutils/servman/precomp.h b/reactos/base/applications/mscutils/servman/precomp.h index 3775be8be1d..afb11d70eb2 100644 --- a/reactos/base/applications/mscutils/servman/precomp.h +++ b/reactos/base/applications/mscutils/servman/precomp.h @@ -60,23 +60,26 @@ HWND CreateMainWindow(LPCTSTR lpCaption, int nCmdShow); BOOL DoStart(PMAIN_WND_INFO Info); /* stop */ -BOOL DoStop(PMAIN_WND_INFO Info); + /* control */ -BOOL Control(PMAIN_WND_INFO Info, HWND hProgDlg, DWORD Control); +BOOL DoStop(PMAIN_WND_INFO Info); +BOOL DoPause(PMAIN_WND_INFO Info); +BOOL DoResume(PMAIN_WND_INFO Info); /* progress.c */ -HWND CreateProgressDialog(HWND hParent, LPTSTR lpServiceName); +HWND CreateProgressDialog(HWND hParent, LPTSTR lpServiceName, UINT Event); VOID IncrementProgressBar(HWND hProgDlg); VOID CompleteProgressBar(HWND hProgDlg); /* query.c */ ENUM_SERVICE_STATUS_PROCESS* GetSelectedService(PMAIN_WND_INFO Info); -BOOL SetDescription(LPTSTR, LPTSTR); -LPTSTR GetDescription(LPTSTR); LPTSTR GetExecutablePath(PMAIN_WND_INFO Info); BOOL RefreshServiceList(PMAIN_WND_INFO Info); -//DWORD GetServiceList(PMAIN_WND_INFO Info); + +/* reg */ +BOOL SetDescription(LPTSTR, LPTSTR); +LPTSTR GetDescription(LPTSTR); /* propsheet.c */ LONG APIENTRY OpenPropSheet(PMAIN_WND_INFO Info); diff --git a/reactos/base/applications/mscutils/servman/progress.c b/reactos/base/applications/mscutils/servman/progress.c index 2e37a4bab0a..2a9d0024c85 100644 --- a/reactos/base/applications/mscutils/servman/progress.c +++ b/reactos/base/applications/mscutils/servman/progress.c @@ -96,7 +96,8 @@ ProgressDialogProc(HWND hDlg, HWND CreateProgressDialog(HWND hParent, - LPTSTR lpServiceName) + LPTSTR lpServiceName, + UINT Event) { HWND hProgDlg; TCHAR ProgDlgBuf[100]; @@ -113,7 +114,7 @@ CreateProgressDialog(HWND hParent, /* write the info to the progress dialog */ LoadString(hInstance, - IDS_PROGRESS_INFO_STOP, + Event, ProgDlgBuf, sizeof(ProgDlgBuf) / sizeof(TCHAR)); diff --git a/reactos/base/applications/mscutils/servman/res/exit.bmp b/reactos/base/applications/mscutils/servman/res/exit.bmp deleted file mode 100644 index 97381f1f6f7..00000000000 Binary files a/reactos/base/applications/mscutils/servman/res/exit.bmp and /dev/null differ diff --git a/reactos/base/applications/mscutils/servman/res/help.bmp b/reactos/base/applications/mscutils/servman/res/help.bmp deleted file mode 100644 index 4c958c2e9a0..00000000000 Binary files a/reactos/base/applications/mscutils/servman/res/help.bmp and /dev/null differ diff --git a/reactos/base/applications/mscutils/servman/resource.h b/reactos/base/applications/mscutils/servman/resource.h index 631b5d9dc8d..a1de2b20dbe 100644 --- a/reactos/base/applications/mscutils/servman/resource.h +++ b/reactos/base/applications/mscutils/servman/resource.h @@ -164,11 +164,13 @@ /* progress bar */ -#define IDD_DLG_PROGRESS 7000 -#define IDC_SERVCON_PROGRESS 7001 -#define IDC_SERVCON_INFO 7002 -#define IDC_SERVCON_NAME 7003 -#define IDS_PROGRESS_INFO_START 7004 -#define IDS_PROGRESS_INFO_STOP 7005 +#define IDD_DLG_PROGRESS 7000 +#define IDC_SERVCON_PROGRESS 7001 +#define IDC_SERVCON_INFO 7002 +#define IDC_SERVCON_NAME 7003 +#define IDS_PROGRESS_INFO_START 7004 +#define IDS_PROGRESS_INFO_STOP 7005 +#define IDS_PROGRESS_INFO_PAUSE 7006 +#define IDS_PROGRESS_INFO_RESUME 7007 diff --git a/reactos/base/applications/mscutils/servman/rsrc.rc b/reactos/base/applications/mscutils/servman/rsrc.rc index 5da110b338b..e7032a62b61 100644 --- a/reactos/base/applications/mscutils/servman/rsrc.rc +++ b/reactos/base/applications/mscutils/servman/rsrc.rc @@ -17,8 +17,6 @@ IDB_START BITMAP DISCARDABLE "res/start.bmp" IDB_STOP BITMAP DISCARDABLE "res/stop.bmp" IDB_PAUSE BITMAP DISCARDABLE "res/pause.bmp" IDB_RESTART BITMAP DISCARDABLE "res/restart.bmp" -IDB_HELP BITMAP DISCARDABLE "res/help.bmp" -IDB_EXIT BITMAP DISCARDABLE "res/exit.bmp" #include "lang/bg-BG.rc" #include "lang/de-DE.rc" @@ -29,5 +27,3 @@ IDB_EXIT BITMAP DISCARDABLE "res/exit.bmp" #include "lang/pl-PL.rc" #include "lang/ru-RU.rc" #include "lang/th-TH.rc" - - diff --git a/reactos/base/applications/mscutils/servman/servman.rbuild b/reactos/base/applications/mscutils/servman/servman.rbuild index 6d9d8990286..363e93113e3 100644 --- a/reactos/base/applications/mscutils/servman/servman.rbuild +++ b/reactos/base/applications/mscutils/servman/servman.rbuild @@ -27,8 +27,7 @@ query.c reg.c servman.c - start.c - stop.c + start.c servman.rc precomp.h diff --git a/reactos/base/applications/mscutils/servman/start.c b/reactos/base/applications/mscutils/servman/start.c index bf0a8a99c23..120cecab1e5 100644 --- a/reactos/base/applications/mscutils/servman/start.c +++ b/reactos/base/applications/mscutils/servman/start.c @@ -130,7 +130,8 @@ DoStart(PMAIN_WND_INFO Info) BOOL bRet = FALSE; hProgDlg = CreateProgressDialog(Info->hMainWnd, - Info->CurrentService->lpServiceName); + Info->CurrentService->lpServiceName, + IDS_PROGRESS_INFO_START); if (hProgDlg) { diff --git a/reactos/base/applications/mscutils/servman/stop.c b/reactos/base/applications/mscutils/servman/stop.c deleted file mode 100644 index 91126b007ae..00000000000 --- a/reactos/base/applications/mscutils/servman/stop.c +++ /dev/null @@ -1,30 +0,0 @@ -/* - * PROJECT: ReactOS Services - * LICENSE: GPL - See COPYING in the top level directory - * FILE: base/applications/mscutils/servman/stop.c - * PURPOSE: Stops a service - * COPYRIGHT: Copyright 2005-2007 Ged Murphy - * - */ - -#include "precomp.h" - -BOOL DoStop(PMAIN_WND_INFO Info) -{ - BOOL ret = FALSE; - HWND hProgDlg; - - hProgDlg = CreateProgressDialog(Info->hMainWnd, - Info->CurrentService->lpServiceName); - - if (hProgDlg) - { - ret = Control(Info, - hProgDlg, - SERVICE_CONTROL_STOP); - - SendMessage(hProgDlg, WM_DESTROY, 0, 0); - } - - return ret; -}