/*++ Copyright (c) 1996 Microsoft Corporation Module Name: dialogs.c Abstract: This file implements the dialog proc for server name page. Environment: WIN32 User Mode Author: Wesley Witt (wesw) 17-Feb-1996 --*/ #include "wizard.h" #pragma hdrstop LRESULT ServerNameDlgProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ) { switch( msg ) { case WM_INITDIALOG: { PPRINTER_INFO_4 PrinterInfo; DWORD CountPrinters; SendDlgItemMessage( hwnd, IDC_PRINTER_NAME, EM_SETLIMITTEXT, LT_PRINTER_NAME, 0 ); PrinterInfo = MyEnumPrinters( NULL, 4, &CountPrinters, 0); if (PrinterInfo && CountPrinters == 1) { if (IsPrinterFaxPrinter( PrinterInfo[0].pPrinterName )) { SetDlgItemText( hwnd, IDC_PRINTER_NAME, PrinterInfo[0].pPrinterName ); } } SetDlgItemText( hwnd, IDC_LABEL_PRINTERNAME, GetString(IDS_LABEL_PRINTERNAME) ); SetDlgItemText( hwnd, IDC_PRINTER_NAME, GetString(IDS_DEFAULT_PRINTER_NAME) ); } break; case WM_NOTIFY: switch( ((LPNMHDR)lParam)->code ) { case PSN_SETACTIVE: if (Unattended) { UnAttendGetAnswer( UAA_PRINTER_NAME, (LPBYTE) WizData.PrinterName, LT_PRINTER_NAME ); SetWindowLong( hwnd, DWL_MSGRESULT, -1 ); return TRUE; } if (InstallMode != INSTALL_NEW) { SetWindowLong( hwnd, DWL_MSGRESULT, -1 ); return TRUE; } break; case PSN_WIZNEXT: SendDlgItemMessage( hwnd, IDC_PRINTER_NAME, WM_GETTEXT, LT_PRINTER_NAME, (LPARAM) WizData.PrinterName ); if (!WizData.PrinterName[0]) { PopUpMsg( hwnd, IDS_PRINTER_NAME, TRUE, 0 ); SetWindowLong( hwnd, DWL_MSGRESULT, -1 ); return TRUE; } if (_tcschr( WizData.PrinterName, TEXT('\\')) || _tcschr( WizData.PrinterName, TEXT('!')) || _tcschr( WizData.PrinterName, TEXT(','))){ PopUpMsg( hwnd, IDS_INVALID_LOCAL_PRINTER_NAME, TRUE, 0 ); ///Don't allow moving to the next page. SetWindowLong( hwnd, DWL_MSGRESULT, -1 ); return TRUE; } break; } break; } return FALSE; }