91 lines
2.5 KiB
C
91 lines
2.5 KiB
C
/*++
|
|
|
|
Copyright (c) 1996 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
dialogs.c
|
|
|
|
Abstract:
|
|
|
|
This file implements the dialog proc for the last wizard page.
|
|
|
|
Environment:
|
|
|
|
WIN32 User Mode
|
|
|
|
Author:
|
|
|
|
Wesley Witt (wesw) 17-Feb-1996
|
|
|
|
--*/
|
|
|
|
#include "wizard.h"
|
|
#pragma hdrstop
|
|
|
|
|
|
LRESULT
|
|
LastPageDlgProc(
|
|
HWND hwnd,
|
|
UINT msg,
|
|
WPARAM wParam,
|
|
LPARAM lParam
|
|
)
|
|
{
|
|
static BOOL Ok = TRUE;
|
|
|
|
|
|
switch( msg ) {
|
|
case WM_INITDIALOG:
|
|
EnableWindow( GetDlgItem( GetParent( hwnd), IDCANCEL ), FALSE );
|
|
SetDlgItemText(
|
|
hwnd,
|
|
IDC_LAST_LABEL01,
|
|
RequestedSetupType == SETUP_TYPE_REMOTE_ADMIN ?
|
|
GetString( IDS_LABEL02_LAST ) : GetString( IDS_LABEL01_LAST )
|
|
);
|
|
break;
|
|
|
|
case WM_NOTIFY:
|
|
switch( ((LPNMHDR)lParam)->code ) {
|
|
case PSN_SETACTIVE:
|
|
if (Unattended) {
|
|
if (NtGuiMode) {
|
|
//
|
|
// if we're running in nt gui mode setup then
|
|
// this is the end. we cannot simply call
|
|
// ExitProcess() as in the normal faxsetup case
|
|
// because we'll end gui mode setup, doh! the
|
|
// best thing to do is simply simulate the user
|
|
// pushing the finish button.
|
|
//
|
|
PostMessage( GetParent( hwnd), PSM_PRESSBUTTON, PSBTN_FINISH, 0 );
|
|
SetWindowLong( hwnd, DWL_MSGRESULT, -1 );
|
|
return TRUE;
|
|
}
|
|
if (RebootRequired && !SuppressReboot) {
|
|
SetupPromptReboot( NULL, NULL, FALSE );
|
|
}
|
|
ExitProcess(0);
|
|
}
|
|
if (InstallMode == INSTALL_REMOVE && Ok) {
|
|
Ok = FALSE;
|
|
SetWindowLong( hwnd, DWL_MSGRESULT, IDD_LAST_UNINSTALL_PAGE );
|
|
return TRUE;
|
|
}
|
|
break;
|
|
|
|
case PSN_WIZFINISH:
|
|
if (RebootRequired && !SuppressReboot) {
|
|
SetupPromptReboot( NULL, NULL, FALSE );
|
|
}
|
|
PostMessage( GetParent(GetParent(hwnd)), WM_USER+500, 0, 0 );
|
|
break;
|
|
|
|
}
|
|
break;
|
|
}
|
|
|
|
return FALSE;
|
|
}
|