only enable the delete and create service buttons for administrators

svn path=/trunk/; revision=28692
This commit is contained in:
Ged Murphy
2007-08-31 09:27:11 +00:00
parent 32841791ae
commit 3095e9d9e8
11 changed files with 69 additions and 44 deletions
@@ -1,9 +1,9 @@
/*
* PROJECT: ReactOS Services
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/system/servman/about.c
* FILE: base/applications/mscutils/servman/about.c
* PURPOSE: About dialog box message handler
* COPYRIGHT: Copyright 2005 - 2006 Ged Murphy <gedmurphy@gmail.com>
* COPYRIGHT: Copyright 2005-2007 Ged Murphy <gedmurphy@reactos.org>
*
*/
@@ -20,28 +20,33 @@ AboutDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
case WM_INITDIALOG:
hIcon = (HICON) LoadImage(hInstance,
MAKEINTRESOURCE(IDI_SM_ICON),
IMAGE_ICON,
16,
16,
0);
SendMessage(hDlg,
WM_SETICON,
ICON_SMALL,
(LPARAM)hIcon);
hIcon = (HICON)LoadImage(hInstance,
MAKEINTRESOURCE(IDI_SM_ICON),
IMAGE_ICON,
16,
16,
0);
if (hIcon)
{
SendMessage(hDlg,
WM_SETICON,
ICON_SMALL,
(LPARAM)hIcon);
DestroyIcon(hIcon);
}
hLicenseEditWnd = GetDlgItem(hDlg,
IDC_LICENSE_EDIT);
if (hLicenseEditWnd)
{
LoadString(hInstance,
IDS_LICENSE,
strLicense,
sizeof(strLicense) / sizeof(TCHAR));
LoadString(hInstance,
IDS_LICENSE,
strLicense,
sizeof(strLicense) / sizeof(TCHAR));
SetWindowText(hLicenseEditWnd,
strLicense);
SetWindowText(hLicenseEditWnd,
strLicense);
}
return TRUE;
@@ -49,7 +54,6 @@ AboutDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
if ((LOWORD(wParam) == IDOK) || (LOWORD(wParam) == IDCANCEL))
{
DestroyIcon(hIcon);
EndDialog(hDlg,
LOWORD(wParam));
return TRUE;
@@ -21,7 +21,7 @@ BEGIN
MENUITEM "Îïðåñíÿâàíå", ID_REFRESH
MENUITEM SEPARATOR
MENUITEM "Îáðàáîòêà...", ID_EDIT, GRAYED
MENUITEM "Ñúçäàâàíå...", ID_CREATE
MENUITEM "Ñúçäàâàíå...", ID_CREATE, GRAYED
MENUITEM "Èçòðèâàíå...", ID_DELETE, GRAYED
MENUITEM SEPARATOR
MENUITEM "Ñâîéñòâà...", ID_PROP, GRAYED
@@ -68,7 +68,7 @@ CAPTION "
FONT 8, "MS Shell Dlg",0,0
STYLE WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Service Manager v0.5.1\nCopyright (C) 2005-2007\nby Ged Murphy ([email protected])", IDC_STATIC, 48, 7, 130, 26
LTEXT "Service Manager v0.8\nCopyright (C) 2005-2007\nby Ged Murphy ([email protected])", IDC_STATIC, 48, 7, 130, 26
PUSHBUTTON "Close", IDOK, 75, 162, 44, 15
ICON IDI_SM_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
@@ -21,7 +21,7 @@ BEGIN
MENUITEM "Aktualisieren", ID_REFRESH
MENUITEM SEPARATOR
MENUITEM "Bearbeiten...", ID_EDIT, GRAYED
MENUITEM "Erstellen...", ID_CREATE
MENUITEM "Erstellen...", ID_CREATE, GRAYED
MENUITEM "Löschen...", ID_DELETE, GRAYED
MENUITEM SEPARATOR
MENUITEM "Eigenschaften...", ID_PROP, GRAYED
@@ -68,7 +68,7 @@ CAPTION "Info
FONT 8, "MS Shell Dlg",0,0
STYLE WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Dienst-Manager v0.5.1\nCopyright (C) 2005-2007\nby Ged Murphy ([email protected])", IDC_STATIC, 48, 7, 130, 26
LTEXT "Dienst-Manager v0.8\nCopyright (C) 2005-2007\nby Ged Murphy ([email protected])", IDC_STATIC, 48, 7, 130, 26
PUSHBUTTON "Schließen", IDOK, 75, 162, 44, 15
ICON IDI_SM_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
@@ -21,7 +21,7 @@ BEGIN
MENUITEM "Refresh", ID_REFRESH
MENUITEM SEPARATOR
MENUITEM "Edit...", ID_EDIT, GRAYED
MENUITEM "Create...", ID_CREATE
MENUITEM "Create...", ID_CREATE, GRAYED
MENUITEM "Delete...", ID_DELETE, GRAYED
MENUITEM SEPARATOR
MENUITEM "Properties...", ID_PROP, GRAYED
@@ -68,7 +68,7 @@ CAPTION "About Service Manager"
FONT 8, "MS Shell Dlg",0,0
STYLE WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Service Manager v0.5.1\nCopyright (C) 2005-2007\nby Ged Murphy ([email protected])", IDC_STATIC, 48, 7, 130, 26
LTEXT "Service Manager v0.8\nCopyright (C) 2005-2007\nby Ged Murphy ([email protected])", IDC_STATIC, 48, 7, 130, 26
PUSHBUTTON "Close", IDOK, 75, 162, 44, 15
ICON IDI_SM_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
@@ -22,7 +22,7 @@ BEGIN
MENUITEM "Rafraîchir", ID_REFRESH
MENUITEM SEPARATOR
MENUITEM "Éditer...", ID_EDIT, GRAYED
MENUITEM "Créer...", ID_CREATE
MENUITEM "Créer...", ID_CREATE, GRAYED
MENUITEM "Supprimer...", ID_DELETE, GRAYED
MENUITEM SEPARATOR
MENUITEM "Propriétés...", ID_PROP, GRAYED
@@ -69,7 +69,7 @@ CAPTION "
FONT 8, "MS Shell Dlg",0,0
STYLE WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Gestionnaire de services v0.5.1\nCopyright (C) 2005-2007\nby Ged Murphy ([email protected])", IDC_STATIC, 48, 7, 130, 26
LTEXT "Gestionnaire de services v0.8\nCopyright (C) 2005-2007\nby Ged Murphy ([email protected])", IDC_STATIC, 48, 7, 130, 26
PUSHBUTTON "Fermer", IDOK, 75, 162, 44, 15
ICON IDI_SM_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
@@ -21,7 +21,7 @@ BEGIN
MENUITEM "Segarkan", ID_REFRESH
MENUITEM SEPARATOR
MENUITEM "Edit...", ID_EDIT, GRAYED
MENUITEM "Buat...", ID_CREATE
MENUITEM "Buat...", ID_CREATE, GRAYED
MENUITEM "Hapus...", ID_DELETE, GRAYED
MENUITEM SEPARATOR
MENUITEM "Properti...", ID_PROP, GRAYED
@@ -68,7 +68,7 @@ CAPTION "Tentang Manajer Layanan"
FONT 8, "MS Shell Dlg",0,0
STYLE WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Manajer Layanan v0.5.1\nHak Cipta (C) 2005-2007\noleh Ged Murphy ([email protected])", IDC_STATIC, 48, 7, 130, 26
LTEXT "Manajer Layanan v0.8\nHak Cipta (C) 2005-2007\noleh Ged Murphy ([email protected])", IDC_STATIC, 48, 7, 130, 26
PUSHBUTTON "Tutup", IDOK, 75, 162, 44, 15
ICON IDI_SM_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
@@ -21,7 +21,7 @@ BEGIN
MENUITEM "Aggiorna", ID_REFRESH
MENUITEM SEPARATOR
MENUITEM "Modifica...", ID_EDIT, GRAYED
MENUITEM "Crea...", ID_CREATE
MENUITEM "Crea...", ID_CREATE, GRAYED
MENUITEM "Cancella...", ID_DELETE, GRAYED
MENUITEM SEPARATOR
MENUITEM "Proprietà...", ID_PROP, GRAYED
@@ -68,7 +68,7 @@ CAPTION "Informazioni su Gestione Servizi"
FONT 8, "MS Shell Dlg",0,0
STYLE WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Gestione Servizi v0.5.1\nCopyright (C) 2005-2007\nby Ged Murphy ([email protected])", IDC_STATIC, 48, 7, 130, 26
LTEXT "Gestione Servizi v0.8\nCopyright (C) 2005-2007\nby Ged Murphy ([email protected])", IDC_STATIC, 48, 7, 130, 26
PUSHBUTTON "Chiudi", IDOK, 75, 162, 44, 15
ICON IDI_SM_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
@@ -28,7 +28,7 @@ BEGIN
MENUITEM "Odœwie¿", ID_REFRESH
MENUITEM SEPARATOR
MENUITEM "Edycja...", ID_EDIT, GRAYED
MENUITEM "Utwórz...", ID_CREATE
MENUITEM "Utwórz...", ID_CREATE, GRAYED
MENUITEM "Usuñ...", ID_DELETE, GRAYED
MENUITEM SEPARATOR
MENUITEM "W³aœciwoœci...", ID_PROP, GRAYED
@@ -75,7 +75,7 @@ CAPTION "Service Manager - informacje"
FONT 8, "MS Shell Dlg",0,0
STYLE WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Service Manager v0.5.1\nCopyright (C) 2005-2007\nby Ged Murphy ([email protected])", IDC_STATIC, 48, 7, 130, 26
LTEXT "Service Manager v0.8\nCopyright (C) 2005-2007\nby Ged Murphy ([email protected])", IDC_STATIC, 48, 7, 130, 26
PUSHBUTTON "Zamknij", IDOK, 75, 162, 44, 15
ICON IDI_SM_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
@@ -21,7 +21,7 @@ BEGIN
MENUITEM "Îáíîâèòü", ID_REFRESH
MENUITEM SEPARATOR
MENUITEM "Èçìåíèòü...", ID_EDIT, GRAYED
MENUITEM "Ñîçäàòü...", ID_CREATE
MENUITEM "Ñîçäàòü...", ID_CREATE, GRAYED
MENUITEM "Óäàëèòü...", ID_DELETE, GRAYED
MENUITEM SEPARATOR
MENUITEM "Ñâîéñòâà...", ID_PROP, GRAYED
@@ -67,7 +67,7 @@ CAPTION "
FONT 8, "MS Shell Dlg",0,0
STYLE WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Ìåíåäæåð ñëóæá v0.5\nCopyright (C) 2005-2007\nîò Ged Murphy ([email protected])", IDC_STATIC, 48, 7, 130, 30
LTEXT "Ìåíåäæåð ñëóæá v0.8\nCopyright (C) 2005-2007\nîò Ged Murphy ([email protected])", IDC_STATIC, 48, 7, 130, 30
PUSHBUTTON "Çàêðûòü", IDOK, 75, 162, 44, 15
ICON IDI_SM_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
@@ -30,7 +30,7 @@ BEGIN
MENUITEM "¿×鹿Ù", ID_REFRESH
MENUITEM SEPARATOR
MENUITEM "á¡éä¢...", ID_EDIT, GRAYED
MENUITEM "ÊÃéÒ§...", ID_CREATE
MENUITEM "ÊÃéÒ§...", ID_CREATE, GRAYED
MENUITEM "ź...", ID_DELETE, GRAYED
MENUITEM SEPARATOR
MENUITEM "¤Ø³ÊÁºÑµÔ...", ID_PROP, GRAYED
@@ -77,7 +77,7 @@ CAPTION "
FONT 8, "MS Shell Dlg",0,0
STYLE WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "â»Ãá¡ÃÁ¡ÒúÃÔ¡ÒèѴ¡ÒÃ ÃØè¹ 0.5.1\nÅÔ¢ÊÔ·¸Ôì (C) 2005-2007\nâ´Â à¡é´ àÁÍÃì¿Õè ([email protected])", IDC_STATIC, 48, 7, 130, 26
LTEXT "â»Ãá¡ÃÁ¡ÒúÃÔ¡ÒèѴ¡ÒÃ ÃØè¹ 0.8\nÅÔ¢ÊÔ·¸Ôì (C) 2005-2007\nâ´Â à¡é´ àÁÍÃì¿Õè ([email protected])", IDC_STATIC, 48, 7, 130, 26
PUSHBUTTON "»Ô´", IDOK, 75, 162, 44, 15
ICON IDI_SM_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE
@@ -24,7 +24,7 @@ static const TBBUTTON Buttons [] =
/* Note: First item for a seperator is its width in pixels */
{15, 0, TBSTATE_ENABLED, BTNS_SEP, {0}, 0, 0}, /* separator */
{TBICON_CREATE, ID_CREATE, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0 }, /* create */
{TBICON_CREATE, ID_CREATE, TBSTATE_INDETERMINATE, BTNS_BUTTON, {0}, 0, 0 }, /* create */
{TBICON_DELETE, ID_DELETE, TBSTATE_INDETERMINATE, BTNS_BUTTON, {0}, 0, 0 }, /* delete */
{15, 0, TBSTATE_ENABLED, BTNS_SEP, {0}, 0, 0}, /* separator */
@@ -172,10 +172,13 @@ VOID SetMenuAndButtonStates(PMAIN_WND_INFO Info)
if (Info->SelectedItem != NO_ITEM_SELECTED)
{
/* allow user to delete service */
SendMessage(Info->hTool, TB_SETSTATE, ID_DELETE,
(LPARAM)MAKELONG(TBSTATE_ENABLED, 0));
EnableMenuItem(hMainMenu, ID_DELETE, MF_ENABLED);
EnableMenuItem(Info->hShortcutMenu, ID_DELETE, MF_ENABLED);
if (Info->bIsUserAnAdmin)
{
SendMessage(Info->hTool, TB_SETSTATE, ID_DELETE,
(LPARAM)MAKELONG(TBSTATE_ENABLED, 0));
EnableMenuItem(hMainMenu, ID_DELETE, MF_ENABLED);
EnableMenuItem(Info->hShortcutMenu, ID_DELETE, MF_ENABLED);
}
Flags = Info->pCurrentService->ServiceStatusProcess.dwControlsAccepted;
State = Info->pCurrentService->ServiceStatusProcess.dwCurrentState;
@@ -350,6 +353,24 @@ InitMainWnd(PMAIN_WND_INFO Info)
0);
Info->bIsUserAnAdmin = IsUserAnAdmin();
if (Info->bIsUserAnAdmin)
{
HMENU hMainMenu = GetMenu(Info->hMainWnd);
SendMessage(Info->hTool,
TB_SETSTATE,
ID_CREATE,
(LPARAM)MAKELONG(TBSTATE_ENABLED, 0));
if (hMainMenu)
{
EnableMenuItem(hMainMenu,
ID_CREATE,
MF_ENABLED);
}
EnableMenuItem(Info->hShortcutMenu,
ID_CREATE,
MF_ENABLED);
}
return TRUE;
}