288 lines
7.1 KiB
C
288 lines
7.1 KiB
C
|
/*++
|
|||
|
|
|||
|
Copyright (c) 1994 Microsoft Corporation
|
|||
|
|
|||
|
Module Name:
|
|||
|
|
|||
|
Swconfig.H
|
|||
|
|
|||
|
Abstract:
|
|||
|
|
|||
|
Select Installation type Dialog Box Procedures
|
|||
|
|
|||
|
Author:
|
|||
|
|
|||
|
Bob Watson (a-robw)
|
|||
|
|
|||
|
Revision History:
|
|||
|
|
|||
|
17 Feb 94 Written
|
|||
|
|
|||
|
--*/
|
|||
|
//
|
|||
|
// Windows Include Files
|
|||
|
//
|
|||
|
|
|||
|
#include <windows.h>
|
|||
|
#include <stdio.h>
|
|||
|
#include <malloc.h>
|
|||
|
#include <tchar.h> // unicode macros
|
|||
|
//
|
|||
|
// app include files
|
|||
|
//
|
|||
|
#include "otnboot.h"
|
|||
|
#include "otnbtdlg.h"
|
|||
|
|
|||
|
#ifdef TERMSRV
|
|||
|
extern TCHAR szCommandLineVal[MAX_PATH];
|
|||
|
#endif // TERMSRV
|
|||
|
|
|||
|
|
|||
|
static
|
|||
|
BOOL
|
|||
|
SwConfigDlg_WM_INITDIALOG (
|
|||
|
IN HWND hwndDlg,
|
|||
|
IN WPARAM wParam,
|
|||
|
IN LPARAM lParam
|
|||
|
)
|
|||
|
/*++
|
|||
|
|
|||
|
Routine Description:
|
|||
|
|
|||
|
Process the WM_INITDIALOG windows message. Initialized the
|
|||
|
values in the dialog box controls to reflect the current
|
|||
|
values of the Application data structure.
|
|||
|
|
|||
|
Arguments:
|
|||
|
|
|||
|
IN HWND hwndDlg
|
|||
|
handle to dialog box window
|
|||
|
|
|||
|
IN WPARAM wParam
|
|||
|
Not Used
|
|||
|
|
|||
|
IN LPARAM lParam
|
|||
|
Not Used
|
|||
|
|
|||
|
Return Value:
|
|||
|
|
|||
|
FALSE
|
|||
|
|
|||
|
--*/
|
|||
|
{
|
|||
|
// configure window & initialize variables
|
|||
|
RemoveMaximizeFromSysMenu (hwndDlg);
|
|||
|
RegCloseKey (pAppInfo->hkeyMachine);
|
|||
|
pAppInfo->hkeyMachine = NULL;
|
|||
|
PositionWindow (hwndDlg);
|
|||
|
|
|||
|
// set default configuration button
|
|||
|
if (pAppInfo->itInstall == OverTheNetInstall) {
|
|||
|
CheckRadioButton (hwndDlg, NCDU_OVER_THE_NET, NCDU_REMOTEBOOT_INFO,
|
|||
|
NCDU_OVER_THE_NET);
|
|||
|
} else if (pAppInfo->itInstall == FloppyDiskInstall) {
|
|||
|
CheckRadioButton (hwndDlg, NCDU_OVER_THE_NET, NCDU_REMOTEBOOT_INFO,
|
|||
|
NCDU_FLOPPY_INSTALL);
|
|||
|
} else if (pAppInfo->itInstall == CopyNetAdminUtils) {
|
|||
|
CheckRadioButton (hwndDlg, NCDU_OVER_THE_NET, NCDU_REMOTEBOOT_INFO,
|
|||
|
NCDU_COPY_NET_ADMIN_UTILS);
|
|||
|
} else if (pAppInfo->itInstall == ShowRemoteBootInfo) {
|
|||
|
CheckRadioButton (hwndDlg, NCDU_OVER_THE_NET, NCDU_REMOTEBOOT_INFO,
|
|||
|
NCDU_REMOTEBOOT_INFO);
|
|||
|
}
|
|||
|
|
|||
|
PostMessage (GetParent(hwndDlg), NCDU_CLEAR_DLG, (WPARAM)hwndDlg, IDOK);
|
|||
|
PostMessage (GetParent(hwndDlg), NCDU_REGISTER_DLG,
|
|||
|
NCDU_SW_CONFIG_DLG, (LPARAM)hwndDlg);
|
|||
|
|
|||
|
SetCursor(LoadCursor(NULL, IDC_ARROW));
|
|||
|
SetFocus (GetDlgItem(hwndDlg, IDOK));
|
|||
|
|
|||
|
return FALSE;
|
|||
|
}
|
|||
|
|
|||
|
static
|
|||
|
BOOL
|
|||
|
SwConfigDlg_IDOK (
|
|||
|
IN HWND hwndDlg
|
|||
|
)
|
|||
|
/*++
|
|||
|
|
|||
|
Routine Description:
|
|||
|
|
|||
|
Processes the IDOK button click. Validates the entries and looks up
|
|||
|
the distribution path to try and translate it to a UNC path.
|
|||
|
Then ends the dialog and calls the next dialog box.
|
|||
|
|
|||
|
Arguments:
|
|||
|
|
|||
|
IN HWND hwndDlg
|
|||
|
handle to the dialog box window
|
|||
|
|
|||
|
Return Value:
|
|||
|
|
|||
|
FALSE
|
|||
|
|
|||
|
--*/
|
|||
|
{
|
|||
|
UINT nNextMessage = 0;
|
|||
|
BOOL bValidate = TRUE;
|
|||
|
UINT nValidMsg = 0;
|
|||
|
|
|||
|
if (IsDlgButtonChecked(hwndDlg,NCDU_OVER_THE_NET) == CHECKED) {
|
|||
|
pAppInfo->itInstall = OverTheNetInstall;
|
|||
|
nNextMessage = (int)NCDU_SHOW_SHARE_NET_SW_DLG;
|
|||
|
} else if (IsDlgButtonChecked(hwndDlg,NCDU_FLOPPY_INSTALL) == CHECKED) {
|
|||
|
pAppInfo->itInstall = FloppyDiskInstall;
|
|||
|
nNextMessage = (int)NCDU_SHOW_SHARE_NET_SW_DLG;
|
|||
|
} else if (IsDlgButtonChecked(hwndDlg,NCDU_COPY_NET_ADMIN_UTILS) == CHECKED) {
|
|||
|
pAppInfo->itInstall = CopyNetAdminUtils;
|
|||
|
nNextMessage = (int)NCDU_SHOW_COPY_ADMIN_UTILS;
|
|||
|
} else if (IsDlgButtonChecked(hwndDlg,NCDU_REMOTEBOOT_INFO) == CHECKED) {
|
|||
|
pAppInfo->itInstall = ShowRemoteBootInfo;
|
|||
|
DisplayMessageBox (
|
|||
|
hwndDlg,
|
|||
|
NCDU_LANMAN_MESSAGE,
|
|||
|
0,
|
|||
|
MB_OK_TASK_INFO);
|
|||
|
nNextMessage = (int)NCDU_SHOW_SW_CONFIG_DLG;
|
|||
|
}
|
|||
|
PostMessage (GetParent(hwndDlg), nNextMessage, 0, 0);
|
|||
|
SetCursor(LoadCursor(NULL, IDC_WAIT));
|
|||
|
return TRUE;
|
|||
|
}
|
|||
|
|
|||
|
static
|
|||
|
BOOL
|
|||
|
SwConfigDlg_NCDU_EXIT (
|
|||
|
IN HWND hwndDlg
|
|||
|
)
|
|||
|
/*++
|
|||
|
|
|||
|
Routine Description:
|
|||
|
|
|||
|
ends the dialog box (and ultimately the app)
|
|||
|
|
|||
|
Arguments:
|
|||
|
|
|||
|
IN HWND hwndDlg
|
|||
|
|
|||
|
Return Value:
|
|||
|
|
|||
|
FALSE
|
|||
|
|
|||
|
--*/
|
|||
|
{
|
|||
|
PostMessage (GetParent(hwndDlg), (int)NCDU_SHOW_EXIT_MESSAGE_DLG, 0, 0);
|
|||
|
SetCursor(LoadCursor(NULL, IDC_WAIT));
|
|||
|
return TRUE;
|
|||
|
}
|
|||
|
|
|||
|
static
|
|||
|
BOOL
|
|||
|
SwConfigDlg_WM_COMMAND (
|
|||
|
IN HWND hwndDlg,
|
|||
|
IN WPARAM wParam,
|
|||
|
IN LPARAM lParam
|
|||
|
)
|
|||
|
/*++
|
|||
|
|
|||
|
Routine Description:
|
|||
|
|
|||
|
Processes the WM_COMMAND windows message and dispatches to
|
|||
|
the routine that corresponds to the control issuing the
|
|||
|
message.
|
|||
|
|
|||
|
Arguments:
|
|||
|
|
|||
|
IN HWND hwndDlg
|
|||
|
Handle to dialog box window
|
|||
|
|
|||
|
IN WPARAM wParam
|
|||
|
LOWORD has ID of control initiating the message
|
|||
|
|
|||
|
IN LPARAM lParam
|
|||
|
Not Used
|
|||
|
|
|||
|
Return Value:
|
|||
|
|
|||
|
TRUE if message not processed by this routine, otherwise the
|
|||
|
value of the dispatched routine .
|
|||
|
|
|||
|
--*/
|
|||
|
{
|
|||
|
switch (LOWORD(wParam)) {
|
|||
|
case NCDU_EXIT: return SwConfigDlg_NCDU_EXIT (hwndDlg);
|
|||
|
case IDOK: return SwConfigDlg_IDOK (hwndDlg);
|
|||
|
case NCDU_SW_CONFIG_HELP:
|
|||
|
switch (HIWORD(wParam)) {
|
|||
|
case BN_CLICKED:
|
|||
|
// return ShowAppHelp (hwndDlg, LOWORD(wParam));
|
|||
|
return PostMessage (GetParent(hwndDlg), WM_HOTKEY,
|
|||
|
(WPARAM)NCDU_HELP_HOT_KEY, 0);
|
|||
|
|
|||
|
default:
|
|||
|
return FALSE;
|
|||
|
}
|
|||
|
|
|||
|
default: return FALSE;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
INT_PTR CALLBACK
|
|||
|
SwConfigDlgProc (
|
|||
|
IN HWND hwndDlg,
|
|||
|
IN UINT message,
|
|||
|
IN WPARAM wParam,
|
|||
|
IN LPARAM lParam
|
|||
|
)
|
|||
|
/*++
|
|||
|
|
|||
|
Routine Description:
|
|||
|
|
|||
|
Main Dialog Box Window Procedure for the Initial configuration screen
|
|||
|
Processes the following windows messages by dispatching the
|
|||
|
appropriate routine.
|
|||
|
|
|||
|
WM_INITDIALOG: dialog box initialization
|
|||
|
WM_COMMAND: user input
|
|||
|
WM_PAINT: for painting icon when minimized
|
|||
|
WM_MOVE: for saving the new location of the window
|
|||
|
WM_SYSCOMMAND: for processing menu messages
|
|||
|
|
|||
|
All other windows messages are processed by the default dialog box
|
|||
|
procedure.
|
|||
|
|
|||
|
Arguments:
|
|||
|
|
|||
|
Standard WNDPROC arguments
|
|||
|
|
|||
|
Return Value:
|
|||
|
|
|||
|
FALSE if the message is not processed by this routine, otherwise the
|
|||
|
value returned by the dispatched routine.
|
|||
|
|
|||
|
--*/
|
|||
|
{
|
|||
|
switch (message) {
|
|||
|
#ifdef TERMSRV
|
|||
|
case WM_INITDIALOG: if ( szCommandLineVal[0] != 0x00 ) {
|
|||
|
SwConfigDlg_WM_INITDIALOG (hwndDlg, wParam, lParam);
|
|||
|
CheckRadioButton (hwndDlg, NCDU_OVER_THE_NET, NCDU_REMOTEBOOT_INFO,
|
|||
|
NCDU_FLOPPY_INSTALL);
|
|||
|
SwConfigDlg_IDOK (hwndDlg);
|
|||
|
return FALSE;
|
|||
|
}
|
|||
|
else
|
|||
|
return (SwConfigDlg_WM_INITDIALOG (hwndDlg, wParam, lParam));
|
|||
|
#else // TERMSRV
|
|||
|
case WM_INITDIALOG: return (SwConfigDlg_WM_INITDIALOG (hwndDlg, wParam, lParam));
|
|||
|
#endif // TERMSRV
|
|||
|
case WM_COMMAND: return (SwConfigDlg_WM_COMMAND (hwndDlg, wParam, lParam));
|
|||
|
case WM_PAINT: return (Dlg_WM_PAINT (hwndDlg, wParam, lParam));
|
|||
|
case WM_MOVE: return (Dlg_WM_MOVE (hwndDlg, wParam, lParam));
|
|||
|
case WM_SYSCOMMAND: return (Dlg_WM_SYSCOMMAND (hwndDlg, wParam, lParam));
|
|||
|
default: return FALSE;
|
|||
|
}
|
|||
|
}
|