BOOL GeneralTab_AskIfStopped (HWND hDlg) { BOOL fStopService = FALSE; BOOL fStartService = FALSE; // If we changed things, ask if we should restart the service. // Otherwise, if it's stopped, ask the user if we should start the service. // DWORD CurrentState = Config_GetServiceState(); if (g.fIsAdmin) { if ((CurrentState == SERVICE_RUNNING) && (g.fNeedRestart)) { if (Message (MB_YESNO | MB_ICONQUESTION, IDS_RESTART_TITLE, IDS_RESTART_DESC) == IDYES) { fStopService = TRUE; fStartService = TRUE; } } if (CurrentState == SERVICE_STOPPED) { if (Message (MB_YESNO | MB_ICONQUESTION, GetCautionTitle(), IDS_OKSTOP_DESC) == IDYES) { fStartService = TRUE; } } } // If we need to, start or stop-n-restart the service // if (fStartService && fStopService) { GeneralTab_DoStartStop (hDlg, FALSE, TRUE); // Stop and restart the thing } else if (fStartService && !fStopService) { GeneralTab_DoStartStop (hDlg, TRUE, FALSE); // Just start it } if (fStartService) { while ( (l.fRestartIfStopped) || (l.fWarnIfNotStopped) || (l.fWarnIfStopped) ) { MSG msg; if (!GetMessage (&msg, NULL, 0, 0)) break; if (IsMemoryManagerMessage (&msg)) continue; TranslateMessage (&msg); DispatchMessage (&msg); } } if (fStartService && !l.fServiceIsRunning) return FALSE; return TRUE; }
void PumpMessage (MSG *pmsg) { if (!IsMemoryManagerMessage (pmsg)) { if (!IsDialogMessage (g.hMain, pmsg)) { TranslateMessage (pmsg); DispatchMessage (pmsg); } } }
void PumpMessage (MSG *lpm) { if (g.hMain && IsWindow (g.hMain)) { if (GetActiveWindow()) { if (TranslateAccelerator (GetActiveWindow(), g.hAccel, lpm)) return; } } if (!IsMemoryManagerMessage (lpm)) { TranslateMessage (lpm); DispatchMessage (lpm); } }