//************************************************************* // // Startup.c - Startup property sheet page // // Microsoft Confidential // Copyright (c) Microsoft Corporation 1996 // All rights reserved // //************************************************************* #include // // Globals for this page // #define CSEC_START_MAX 9999 // Maximum number of seconds allowed // // Help ID's // DWORD aStartupHelpIds[] = { IDC_STARTUP_SYS_OS, (IDH_STARTUP + 0), IDC_STARTUP_SYS_ENABLECOUNTDOWN, (IDH_STARTUP + 1), IDC_STARTUP_SYS_SECONDS, (IDH_STARTUP + 2), IDC_STARTUP_CDMP_TXT1, (IDH_STARTUP + 3), IDC_STARTUP_CDMP_LOG, (IDH_STARTUP + 4), IDC_STARTUP_CDMP_SEND, (IDH_STARTUP + 5), IDC_STARTUP_CDMP_WRITE, (IDH_STARTUP + 6), IDC_STARTUP_CDMP_FILENAME, (IDH_STARTUP + 7), IDC_STARTUP_CDMP_OVERWRITE, (IDH_STARTUP + 8), IDC_STARTUP_CDMP_AUTOREBOOT, (IDH_STARTUP + 9), IDC_STARTUP_SYSTEM_GRP, (IDH_STARTUP + 10), IDC_STARTUP_SYS_SECSCROLL, (IDH_STARTUP + 11), IDC_STARTUP_CDMP_GRP, (IDH_STARTUP + 12), 0, 0 }; //************************************************************* // // CreateStartupPage() // // Purpose: Creates the Startup page // // Parameters: hInst - hInstance // // // Return: hPage if successful // NULL if an error occurs // // Comments: // // History: Date Author Comment // 11/21/95 ericflo Created // //************************************************************* HPROPSHEETPAGE CreateStartupPage (HINSTANCE hInst) { PROPSHEETPAGE psp; psp.dwSize = sizeof(PROPSHEETPAGE); psp.dwFlags = 0; psp.hInstance = hInst; psp.pszTemplate = MAKEINTRESOURCE(IDD_STARTUP); psp.pfnDlgProc = StartupDlgProc; psp.pszTitle = NULL; psp.lParam = 0; return CreatePropertySheetPage(&psp); } //************************************************************* // // StartupDlgProc() // // Purpose: Dialog box procedure for Startup tab // // Parameters: hDlg - handle to the dialog box // uMsg - window message // wParam - wParam // lParam - lParam // // Return: TRUE if message was processed // FALSE if not // // Comments: // // History: Date Author Comment // 11/21/95 ericflo Created // //************************************************************* BOOL APIENTRY StartupDlgProc (HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { int iRet; // // If someone changes the state of one of the controls on this page, then enable the APPLY button // if (uMsg == WM_COMMAND && (HIWORD(wParam) == EN_CHANGE || HIWORD(wParam) == BN_CLICKED || HIWORD(wParam) == CBN_SELCHANGE )) { PropSheet_Changed(GetParent(hDlg), hDlg); } iRet = CoreDumpDlgProc(hDlg, uMsg, wParam, lParam); switch( iRet ) { case RET_CONTINUE: { break; } case RET_BREAK: { return TRUE; } case RET_ERROR: { SetWindowLong (hDlg, DWL_MSGRESULT, PSNRET_INVALID_NOCHANGEPAGE); return TRUE; } case RET_CHANGE_NO_REBOOT: case RET_NO_CHANGE: { break; } case RET_VIRTUAL_CHANGE: case RET_RECOVER_CHANGE: case RET_VIRT_AND_RECOVER: { SendMessage(GetParent(hDlg), PSM_REBOOTSYSTEM, 0, 0); break; } } switch (uMsg) { case WM_INITDIALOG: StartListInit(hDlg, wParam, lParam); break; case WM_NOTIFY: switch (((NMHDR FAR*)lParam)->code) { case PSN_APPLY: if (StartListExit(hDlg, wParam, lParam) == RET_BREAK) break; SetWindowLong (hDlg, DWL_MSGRESULT, PSNRET_NOERROR); return TRUE; default: return FALSE; } break; case WM_COMMAND: switch (LOWORD(wParam)) { #if defined(_MIPS_) || defined(_ALPHA_) || defined(_PPC_) case IDC_STARTUP_SYS_ENABLECOUNTDOWN: if (HIWORD(wParam) == BN_CLICKED) { BOOL bChecked; CheckDlgButton (hDlg, IDC_STARTUP_SYS_ENABLECOUNTDOWN, bChecked = (WORD) !IsDlgButtonChecked (hDlg, IDC_STARTUP_SYS_ENABLECOUNTDOWN)); EnableWindow (GetDlgItem (hDlg, IDC_STARTUP_SYS_SECONDS), bChecked); EnableWindow (GetDlgItem (hDlg, IDC_STARTUP_SYS_SECSCROLL), bChecked); } break; #endif } break; case WM_DESTROY: StartListDestroy(hDlg, wParam, lParam); break; case WM_HELP: // F1 WinHelp((HWND)((LPHELPINFO) lParam)->hItemHandle, HELP_FILE, HELP_WM_HELP, (DWORD) (LPSTR) aStartupHelpIds); break; case WM_CONTEXTMENU: // right mouse click WinHelp((HWND) wParam, HELP_FILE, HELP_CONTEXTMENU, (DWORD) (LPSTR) aStartupHelpIds); break; default: return FALSE; } return TRUE; }