VOID SetMenuAndButtonStates(PMAIN_WND_INFO Info)
{
+ LPQUERY_SERVICE_CONFIG lpServiceConfig;
HMENU hMainMenu;
- DWORD Flags, State;
UINT i;
/* get handle to menu */
EnableMenuItem(GetSubMenu(Info->hShortcutMenu, 0), ID_DELETE, MF_ENABLED);
}
- Flags = Info->pCurrentService->ServiceStatusProcess.dwControlsAccepted;
- State = Info->pCurrentService->ServiceStatusProcess.dwCurrentState;
-
- if (State == SERVICE_STOPPED)
+ lpServiceConfig = GetServiceConfig(Info->pCurrentService->lpServiceName);
+ if (lpServiceConfig && lpServiceConfig->dwStartType != SERVICE_DISABLED)
{
- EnableMenuItem(hMainMenu, ID_START, MF_ENABLED);
- EnableMenuItem(GetSubMenu(Info->hShortcutMenu, 0), ID_START, MF_ENABLED);
- SendMessage(Info->hTool, TB_SETSTATE, ID_START,
- (LPARAM)MAKELONG(TBSTATE_ENABLED, 0));
- }
+ DWORD Flags, State;
- if ( (Flags & SERVICE_ACCEPT_STOP) && (State == SERVICE_RUNNING) )
- {
- EnableMenuItem(hMainMenu, ID_STOP, MF_ENABLED);
- EnableMenuItem(GetSubMenu(Info->hShortcutMenu, 0), ID_STOP, MF_ENABLED);
- SendMessage(Info->hTool, TB_SETSTATE, ID_STOP,
- (LPARAM)MAKELONG(TBSTATE_ENABLED, 0));
- }
+ Flags = Info->pCurrentService->ServiceStatusProcess.dwControlsAccepted;
+ State = Info->pCurrentService->ServiceStatusProcess.dwCurrentState;
- if ( (Flags & SERVICE_ACCEPT_PAUSE_CONTINUE) && (State == SERVICE_RUNNING) )
- {
- EnableMenuItem(hMainMenu, ID_PAUSE, MF_ENABLED);
- EnableMenuItem(GetSubMenu(Info->hShortcutMenu, 0), ID_PAUSE, MF_ENABLED);
- SendMessage(Info->hTool, TB_SETSTATE, ID_PAUSE,
- (LPARAM)MAKELONG(TBSTATE_ENABLED, 0));
- }
+ if (State == SERVICE_STOPPED)
+ {
+ EnableMenuItem(hMainMenu, ID_START, MF_ENABLED);
+ EnableMenuItem(GetSubMenu(Info->hShortcutMenu, 0), ID_START, MF_ENABLED);
+ SendMessage(Info->hTool, TB_SETSTATE, ID_START,
+ (LPARAM)MAKELONG(TBSTATE_ENABLED, 0));
+ }
- if ( (Flags & SERVICE_ACCEPT_STOP) && (State == SERVICE_RUNNING) )
- {
- EnableMenuItem(hMainMenu, ID_RESTART, MF_ENABLED);
- EnableMenuItem(GetSubMenu(Info->hShortcutMenu, 0), ID_RESTART, MF_ENABLED);
- SendMessage(Info->hTool, TB_SETSTATE, ID_RESTART,
- (LPARAM)MAKELONG(TBSTATE_ENABLED, 0));
+ if ( (Flags & SERVICE_ACCEPT_STOP) && (State == SERVICE_RUNNING) )
+ {
+ EnableMenuItem(hMainMenu, ID_STOP, MF_ENABLED);
+ EnableMenuItem(GetSubMenu(Info->hShortcutMenu, 0), ID_STOP, MF_ENABLED);
+ SendMessage(Info->hTool, TB_SETSTATE, ID_STOP,
+ (LPARAM)MAKELONG(TBSTATE_ENABLED, 0));
+ }
+
+ if ( (Flags & SERVICE_ACCEPT_PAUSE_CONTINUE) && (State == SERVICE_RUNNING) )
+ {
+ EnableMenuItem(hMainMenu, ID_PAUSE, MF_ENABLED);
+ EnableMenuItem(GetSubMenu(Info->hShortcutMenu, 0), ID_PAUSE, MF_ENABLED);
+ SendMessage(Info->hTool, TB_SETSTATE, ID_PAUSE,
+ (LPARAM)MAKELONG(TBSTATE_ENABLED, 0));
+ }
+
+ if ( (Flags & SERVICE_ACCEPT_STOP) && (State == SERVICE_RUNNING) )
+ {
+ EnableMenuItem(hMainMenu, ID_RESTART, MF_ENABLED);
+ EnableMenuItem(GetSubMenu(Info->hShortcutMenu, 0), ID_RESTART, MF_ENABLED);
+ SendMessage(Info->hTool, TB_SETSTATE, ID_RESTART,
+ (LPARAM)MAKELONG(TBSTATE_ENABLED, 0));
+ }
+
+ HeapFree(GetProcessHeap(), 0, lpServiceConfig);
}
}
else
HWND hwndDlg)
{
HWND hButton;
+ LPQUERY_SERVICE_CONFIG lpServiceConfig;
DWORD Flags, State;
UINT i;
- LPQUERY_SERVICE_CONFIG lpServiceConfig;
Flags = dlgInfo->pService->ServiceStatusProcess.dwControlsAccepted;
State = dlgInfo->pService->ServiceStatusProcess.dwCurrentState;
- lpServiceConfig = GetServiceConfig(dlgInfo->pService->lpServiceName);
for (i = IDC_START; i <= IDC_RESUME; i++)
{
EnableWindow (hButton, FALSE);
}
- if ( (State == SERVICE_STOPPED) && (lpServiceConfig->dwStartType != SERVICE_DISABLED) )
- {
- hButton = GetDlgItem(hwndDlg, IDC_START);
- EnableWindow (hButton, TRUE);
- }
- else if ( (Flags & SERVICE_ACCEPT_STOP) && (State == SERVICE_RUNNING) )
- {
- hButton = GetDlgItem(hwndDlg, IDC_STOP);
- EnableWindow (hButton, TRUE);
- }
- else if ( (Flags & SERVICE_ACCEPT_PAUSE_CONTINUE) && (State == SERVICE_RUNNING) )
+ lpServiceConfig = GetServiceConfig(dlgInfo->pService->lpServiceName);
+ if (lpServiceConfig && lpServiceConfig->dwStartType != SERVICE_DISABLED)
{
- hButton = GetDlgItem(hwndDlg, IDC_PAUSE);
- EnableWindow (hButton, TRUE);
- }
-
- HeapFree(ProcessHeap,
- 0,
- lpServiceConfig);
+ if (State == SERVICE_STOPPED)
+ {
+ hButton = GetDlgItem(hwndDlg, IDC_START);
+ EnableWindow (hButton, TRUE);
+ }
+ else if ( (Flags & SERVICE_ACCEPT_STOP) && (State == SERVICE_RUNNING) )
+ {
+ hButton = GetDlgItem(hwndDlg, IDC_STOP);
+ EnableWindow (hButton, TRUE);
+ }
+ else if ( (Flags & SERVICE_ACCEPT_PAUSE_CONTINUE) && (State == SERVICE_RUNNING) )
+ {
+ hButton = GetDlgItem(hwndDlg, IDC_PAUSE);
+ EnableWindow (hButton, TRUE);
+ }
+ HeapFree(GetProcessHeap(), 0, lpServiceConfig);
+ }
}
return Ret;
}
-