mirror of
https://github.com/reactos/reactos.git
synced 2025-02-28 19:32:59 +00:00
more code changes
This commit is contained in:
parent
fa69fac9ed
commit
3969cc1fa9
3 changed files with 153 additions and 60 deletions
|
@ -336,6 +336,13 @@ StartDlgProc(
|
||||||
SetDlgItemFont(hwndDlg, IDC_WARNTEXT2, pSetupData->hBoldFont, TRUE);
|
SetDlgItemFont(hwndDlg, IDC_WARNTEXT2, pSetupData->hBoldFont, TRUE);
|
||||||
SetDlgItemFont(hwndDlg, IDC_WARNTEXT3, pSetupData->hBoldFont, TRUE);
|
SetDlgItemFont(hwndDlg, IDC_WARNTEXT3, pSetupData->hBoldFont, TRUE);
|
||||||
|
|
||||||
|
/* Change the "Cancel" button text to "Close" */
|
||||||
|
// GetDlgItemTextW(GetParent(hwndDlg), IDCANCEL,
|
||||||
|
// szOrgWizNextBtnText, ARRAYSIZE(szOrgWizNextBtnText));
|
||||||
|
SetWindowResTextW(GetDlgItem(GetParent(hwndDlg), IDCANCEL),
|
||||||
|
GetModuleHandleW(L"comctl32.dll"),
|
||||||
|
IDS_CLOSE);
|
||||||
|
|
||||||
/* Center the wizard window */
|
/* Center the wizard window */
|
||||||
CenterWindow(GetParent(hwndDlg));
|
CenterWindow(GetParent(hwndDlg));
|
||||||
break;
|
break;
|
||||||
|
@ -459,6 +466,14 @@ TypeDlgProc(
|
||||||
|
|
||||||
case PSN_WIZNEXT: /* Set the selected data */
|
case PSN_WIZNEXT: /* Set the selected data */
|
||||||
{
|
{
|
||||||
|
/////////////////////////
|
||||||
|
#if 0
|
||||||
|
Sleep(5000);
|
||||||
|
SetWindowLongPtrW(hwndDlg, DWLP_MSGRESULT, IDD_FINISHPAGE);
|
||||||
|
return TRUE;
|
||||||
|
#endif
|
||||||
|
/////////////////////////
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Go update only if we have available NT installations
|
* Go update only if we have available NT installations
|
||||||
* and we choose to do so.
|
* and we choose to do so.
|
||||||
|
@ -1062,6 +1077,7 @@ SummaryDlgProc(
|
||||||
{
|
{
|
||||||
if (HIWORD(wParam) == BN_CLICKED && LOWORD(wParam) == IDC_CONFIRM_INSTALL)
|
if (HIWORD(wParam) == BN_CLICKED && LOWORD(wParam) == IDC_CONFIRM_INSTALL)
|
||||||
{
|
{
|
||||||
|
// Ideally we could add the PSWIZBF_ELEVATIONREQUIRED style.
|
||||||
if (IsDlgButtonChecked(hwndDlg, IDC_CONFIRM_INSTALL) == BST_CHECKED)
|
if (IsDlgButtonChecked(hwndDlg, IDC_CONFIRM_INSTALL) == BST_CHECKED)
|
||||||
PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_BACK | PSWIZB_NEXT);
|
PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_BACK | PSWIZB_NEXT);
|
||||||
else
|
else
|
||||||
|
@ -1786,8 +1802,10 @@ RegistryStatus(IN REGISTRY_STATUS RegStatus, ...)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief
|
* @brief
|
||||||
* Enables or disables the Cancel and the Close title-bar
|
* Enable or disable the Cancel and the Close title-bar property-sheet buttons.
|
||||||
* property-sheet window buttons.
|
*
|
||||||
|
* The buttons are however kept visible in case they are disabled
|
||||||
|
* (this informs the user they are disabled only temporarily).
|
||||||
**/
|
**/
|
||||||
VOID
|
VOID
|
||||||
PropSheet_SetCloseCancel(
|
PropSheet_SetCloseCancel(
|
||||||
|
@ -1795,7 +1813,6 @@ PropSheet_SetCloseCancel(
|
||||||
_In_ BOOL Enable)
|
_In_ BOOL Enable)
|
||||||
{
|
{
|
||||||
EnableDlgItem(hWndWiz, IDCANCEL, Enable);
|
EnableDlgItem(hWndWiz, IDCANCEL, Enable);
|
||||||
// ShowDlgItem(hWndWiz, IDCANCEL, Enable ? SW_SHOW : SW_HIDE);
|
|
||||||
EnableMenuItem(GetSystemMenu(hWndWiz, FALSE),
|
EnableMenuItem(GetSystemMenu(hWndWiz, FALSE),
|
||||||
SC_CLOSE,
|
SC_CLOSE,
|
||||||
MF_BYCOMMAND | (Enable ? MF_ENABLED : MF_GRAYED));
|
MF_BYCOMMAND | (Enable ? MF_ENABLED : MF_GRAYED));
|
||||||
|
@ -2338,6 +2355,62 @@ GetSetupType(VOID)
|
||||||
return dwSetupType;
|
return dwSetupType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
typedef struct _CLOSABLE_WND_INFO
|
||||||
|
{
|
||||||
|
HWND hWndExclude; ///< Window to exclude from search
|
||||||
|
BOOL Found; ///< TRUE if a closable window was found; FALSE if not.
|
||||||
|
} CLOSABLE_WND_INFO, *PCLOSABLE_WND_INFO;
|
||||||
|
static BOOL
|
||||||
|
CALLBACK
|
||||||
|
FindUserClosableWindowProc(
|
||||||
|
_In_ HWND hWnd,
|
||||||
|
_In_ LPARAM lParam)
|
||||||
|
{
|
||||||
|
PCLOSABLE_WND_INFO pInfo = (PCLOSABLE_WND_INFO)lParam;
|
||||||
|
HMENU hSysMenu;
|
||||||
|
MENUITEMINFOW mii;
|
||||||
|
|
||||||
|
/* Skip the window to exclude */
|
||||||
|
if (hWnd == pInfo->hWndExclude)
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
/* Skip non-interactive windows */
|
||||||
|
if (!IsWindowEnabled(hWnd) || !IsWindowVisible(hWnd))
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
hSysMenu = GetSystemMenu(hWnd, FALSE);
|
||||||
|
if (!hSysMenu)
|
||||||
|
return TRUE; /* No menu: skip the window */
|
||||||
|
|
||||||
|
mii.cbSize = sizeof(mii);
|
||||||
|
mii.fMask = MIIM_STATE;
|
||||||
|
if (!GetMenuItemInfoW(hSysMenu, SC_CLOSE, FALSE, &mii))
|
||||||
|
return TRUE; /* No close item: skip the window */
|
||||||
|
|
||||||
|
pInfo->Found |= !(mii.fState & MFS_DISABLED);
|
||||||
|
|
||||||
|
/* Continue enumeration (return TRUE) if no close item is enabled;
|
||||||
|
* otherwise stop the enumeration (return FALSE) */
|
||||||
|
return !pInfo->Found;
|
||||||
|
}
|
||||||
|
static BOOL
|
||||||
|
AreThereInteractiveWindows(
|
||||||
|
_In_opt_ HWND hWndExclude)
|
||||||
|
{
|
||||||
|
/* Return success if a shell is present */
|
||||||
|
if (GetShellWindow())
|
||||||
|
{
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
/* Otherwise, check for user-interactive closable windows */
|
||||||
|
else
|
||||||
|
{
|
||||||
|
CLOSABLE_WND_INFO Info = {hWndExclude, FALSE};
|
||||||
|
EnumWindows(FindUserClosableWindowProc, (LPARAM)&Info);
|
||||||
|
return Info.Found;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static INT_PTR CALLBACK
|
static INT_PTR CALLBACK
|
||||||
FinishDlgProc(
|
FinishDlgProc(
|
||||||
IN HWND hwndDlg,
|
IN HWND hwndDlg,
|
||||||
|
@ -2354,6 +2427,8 @@ FinishDlgProc(
|
||||||
{
|
{
|
||||||
case WM_INITDIALOG:
|
case WM_INITDIALOG:
|
||||||
{
|
{
|
||||||
|
DWORD dwSetupType;
|
||||||
|
|
||||||
/* Save pointer to the global setup data */
|
/* Save pointer to the global setup data */
|
||||||
pSetupData = (PSETUPDATA)((LPPROPSHEETPAGE)lParam)->lParam;
|
pSetupData = (PSETUPDATA)((LPPROPSHEETPAGE)lParam)->lParam;
|
||||||
SetWindowLongPtrW(hwndDlg, GWLP_USERDATA, (DWORD_PTR)pSetupData);
|
SetWindowLongPtrW(hwndDlg, GWLP_USERDATA, (DWORD_PTR)pSetupData);
|
||||||
|
@ -2361,25 +2436,22 @@ FinishDlgProc(
|
||||||
/* Set title font */
|
/* Set title font */
|
||||||
SetDlgItemFont(hwndDlg, IDC_FINISHTITLE, pSetupData->hTitleFont, TRUE);
|
SetDlgItemFont(hwndDlg, IDC_FINISHTITLE, pSetupData->hTitleFont, TRUE);
|
||||||
|
|
||||||
#if 1 // FIXME FIXME: This is for testing only!!
|
|
||||||
SetDlgItemTextW(GetParent(hwndDlg), ID_WIZNEXT, L"Test button");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Retrieve the HKLM\SYSTEM\Setup:SetupType value to determine
|
/* Retrieve the HKLM\SYSTEM\Setup:SetupType value to determine
|
||||||
* whether we need to restart at the end of the installation */
|
* whether we need to restart at the end of the installation */
|
||||||
//pSetupData->dwSetupType = GetSetupType();
|
dwSetupType = GetSetupType();
|
||||||
pSetupData->dwSetupType = 1;
|
pSetupData->bMustReboot = (dwSetupType == 1 || dwSetupType == 4); // FIXME: Use defines/enum
|
||||||
|
|
||||||
if (pSetupData->dwSetupType == 1 || pSetupData->dwSetupType == 4) // FIXME: Use defines/enum
|
/* Force "Restart Now" if there are no other user-interactive windows */
|
||||||
|
pSetupData->bMustReboot |= !AreThereInteractiveWindows(GetParent(hwndDlg));
|
||||||
|
|
||||||
|
/* If we must restart, display the countdown gauge, show the "Stop Countdown" and the "Restart" buttons.
|
||||||
|
* If we don't need to restart right now, let the user to restart now or later. */
|
||||||
|
if (pSetupData->bMustReboot)
|
||||||
{
|
{
|
||||||
EnableDlgItem(hwndDlg, IDC_RESTART_PROGRESS, TRUE);
|
EnableDlgItem(hwndDlg, IDC_RESTART_PROGRESS, TRUE);
|
||||||
EnableDlgItem(hwndDlg, IDC_PAUSE_COUNTDOWN, TRUE);
|
EnableDlgItem(hwndDlg, IDC_STOP_COUNTDOWN, TRUE);
|
||||||
EnableDlgItem(hwndDlg, IDC_RESTARTNOW, FALSE);
|
ShowDlgItem(hwndDlg, IDC_RESTART_PROGRESS, SW_SHOW);
|
||||||
ShowWindow(GetDlgItem(hwndDlg, IDC_RESTART_PROGRESS), SW_SHOW);
|
ShowDlgItem(hwndDlg, IDC_STOP_COUNTDOWN, SW_SHOW);
|
||||||
ShowWindow(GetDlgItem(hwndDlg, IDC_PAUSE_COUNTDOWN), SW_SHOW);
|
|
||||||
ShowWindow(GetDlgItem(hwndDlg, IDC_RESTARTNOW), SW_HIDE);
|
|
||||||
|
|
||||||
CheckDlgButton(hwndDlg, IDC_PAUSE_COUNTDOWN, BST_UNCHECKED);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -2388,14 +2460,16 @@ FinishDlgProc(
|
||||||
pSetupData->hInstance,
|
pSetupData->hInstance,
|
||||||
IDS_FINISH_NO_REBOOT);
|
IDS_FINISH_NO_REBOOT);
|
||||||
|
|
||||||
|
/* Hide and disable the countdown gauge and the "Stop Countdown" button */
|
||||||
EnableDlgItem(hwndDlg, IDC_RESTART_PROGRESS, FALSE);
|
EnableDlgItem(hwndDlg, IDC_RESTART_PROGRESS, FALSE);
|
||||||
EnableDlgItem(hwndDlg, IDC_PAUSE_COUNTDOWN, FALSE);
|
EnableDlgItem(hwndDlg, IDC_STOP_COUNTDOWN, FALSE);
|
||||||
EnableDlgItem(hwndDlg, IDC_RESTARTNOW, TRUE);
|
ShowDlgItem(hwndDlg, IDC_RESTART_PROGRESS, SW_HIDE);
|
||||||
ShowWindow(GetDlgItem(hwndDlg, IDC_RESTART_PROGRESS), SW_HIDE);
|
ShowDlgItem(hwndDlg, IDC_STOP_COUNTDOWN, SW_HIDE);
|
||||||
ShowWindow(GetDlgItem(hwndDlg, IDC_PAUSE_COUNTDOWN), SW_HIDE);
|
|
||||||
ShowWindow(GetDlgItem(hwndDlg, IDC_RESTARTNOW), SW_SHOW);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Ensure that the installer wizard window is made visible and focused */
|
||||||
|
ShowWindow(GetParent(hwndDlg), SW_SHOW);
|
||||||
|
SwitchToThisWindow(GetParent(hwndDlg), TRUE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2429,20 +2503,22 @@ FinishDlgProc(
|
||||||
{
|
{
|
||||||
case PSN_SETACTIVE:
|
case PSN_SETACTIVE:
|
||||||
{
|
{
|
||||||
/* Only "Finish" for closing the wizard */
|
/* Only "Finish" for closing the wizard, and hide "Next" and "Back" */
|
||||||
ShowDlgItem(GetParent(hwndDlg), IDCANCEL, SW_HIDE);
|
|
||||||
PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_FINISH);
|
PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_FINISH);
|
||||||
|
// PropSheet_ShowWizButtons(GetParent(hwndDlg), 0, PSWIZB_BACK | PSWIZB_NEXT | PSWIZB_CANCEL);
|
||||||
|
ShowDlgItem(GetParent(hwndDlg), ID_WIZBACK, SW_HIDE);
|
||||||
|
ShowDlgItem(GetParent(hwndDlg), ID_WIZNEXT, SW_HIDE);
|
||||||
|
|
||||||
// NOTE: Alternative buttons suggestion:
|
/* Change the "Finish" button text to "Restart" */
|
||||||
// "Back" (disabled/hidden), "Restart Now" (instead of "Finish"), Cancel/Exit
|
SetWindowResTextW(GetDlgItem(GetParent(hwndDlg), ID_WIZFINISH),
|
||||||
|
pSetupData->hInstance,
|
||||||
|
IDS_RESTARTBTN);
|
||||||
|
|
||||||
if (pSetupData->dwSetupType == 1 || pSetupData->dwSetupType == 4) // FIXME: Use defines/enum
|
if (pSetupData->bMustReboot)
|
||||||
{
|
{
|
||||||
/* Change the "Next" button text to "Restart" */
|
/* Hide and disable also the "Close"/"Cancel" buttons since we can only finish now */
|
||||||
// PropSheet_SetNextText(GetParent(hwndDlg), ...);
|
ShowDlgItem(GetParent(hwndDlg), IDCANCEL, SW_HIDE);
|
||||||
SetWindowResTextW(GetDlgItem(GetParent(hwndDlg), ID_WIZFINISH),
|
PropSheet_SetCloseCancel(GetParent(hwndDlg), FALSE);
|
||||||
pSetupData->hInstance,
|
|
||||||
IDS_REBOOTBTN);
|
|
||||||
|
|
||||||
/* Set up the reboot progress bar and countdown timer.
|
/* Set up the reboot progress bar and countdown timer.
|
||||||
* 300 steps at 50 ms each: 15 seconds */
|
* 300 steps at 50 ms each: 15 seconds */
|
||||||
|
@ -2450,10 +2526,27 @@ FinishDlgProc(
|
||||||
SendDlgItemMessage(hwndDlg, IDC_RESTART_PROGRESS, PBM_SETPOS, 0, 0);
|
SendDlgItemMessage(hwndDlg, IDC_RESTART_PROGRESS, PBM_SETPOS, 0, 0);
|
||||||
SetTimer(hwndDlg, 1, 50, NULL);
|
SetTimer(hwndDlg, 1, 50, NULL);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* Keep the "Cancel" button shown and change its text to "Postpone" */
|
||||||
|
// PropSheet_ShowWizButtons(GetParent(hwndDlg), 0, PSWIZB_BACK | PSWIZB_NEXT);
|
||||||
|
SetWindowResTextW(GetDlgItem(GetParent(hwndDlg), IDCANCEL),
|
||||||
|
pSetupData->hInstance,
|
||||||
|
IDS_POSTPONEBTN);
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case PSN_WIZNEXT:
|
||||||
|
case PSN_WIZFINISH:
|
||||||
|
{
|
||||||
|
/* Press on "Finish"/"Restart" button */
|
||||||
|
pSetupData->bMustReboot = TRUE;
|
||||||
|
__fallthrough;
|
||||||
|
}
|
||||||
|
case PSN_QUERYCANCEL:
|
||||||
|
/* Press on "Cancel"/"Postpone" button */
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -2467,26 +2560,18 @@ FinishDlgProc(
|
||||||
|
|
||||||
switch (LOWORD(wParam))
|
switch (LOWORD(wParam))
|
||||||
{
|
{
|
||||||
case IDC_PAUSE_COUNTDOWN:
|
case IDC_STOP_COUNTDOWN:
|
||||||
{
|
{
|
||||||
/* Pause the shutdown countdown */
|
/* Stop the shutdown countdown */
|
||||||
// BST_UNCHECKED or BST_INDETERMINATE => FALSE
|
KillTimer(hwndDlg, 1);
|
||||||
if (IsDlgButtonChecked(hwndDlg, IDC_PAUSE_COUNTDOWN) == BST_CHECKED)
|
|
||||||
{
|
/* Hide and disable the countdown gauge and the "Stop Countdown" button */
|
||||||
/* It is, pause countdown */
|
EnableDlgItem(hwndDlg, IDC_RESTART_PROGRESS, FALSE);
|
||||||
KillTimer(hwndDlg, 1);
|
EnableDlgItem(hwndDlg, IDC_STOP_COUNTDOWN, FALSE);
|
||||||
}
|
ShowDlgItem(hwndDlg, IDC_RESTART_PROGRESS, SW_HIDE);
|
||||||
else
|
ShowDlgItem(hwndDlg, IDC_STOP_COUNTDOWN, SW_HIDE);
|
||||||
{
|
|
||||||
/* It is not, re-enable countdown */
|
|
||||||
SetTimer(hwndDlg, 1, 50, NULL);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case IDC_RESTARTNOW:
|
|
||||||
// TODO
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -3034,7 +3119,6 @@ _tWinMain(HINSTANCE hInst,
|
||||||
psp.pszTemplate = MAKEINTRESOURCEW(IDD_STARTPAGE);
|
psp.pszTemplate = MAKEINTRESOURCEW(IDD_STARTPAGE);
|
||||||
ahpsp[nPages++] = CreatePropertySheetPage(&psp);
|
ahpsp[nPages++] = CreatePropertySheetPage(&psp);
|
||||||
|
|
||||||
#if 0
|
|
||||||
/* Create the install type selection page */
|
/* Create the install type selection page */
|
||||||
psp.dwSize = sizeof(PROPSHEETPAGE);
|
psp.dwSize = sizeof(PROPSHEETPAGE);
|
||||||
psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
|
psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
|
||||||
|
@ -3046,6 +3130,7 @@ _tWinMain(HINSTANCE hInst,
|
||||||
psp.pszTemplate = MAKEINTRESOURCEW(IDD_TYPEPAGE);
|
psp.pszTemplate = MAKEINTRESOURCEW(IDD_TYPEPAGE);
|
||||||
ahpsp[nPages++] = CreatePropertySheetPage(&psp);
|
ahpsp[nPages++] = CreatePropertySheetPage(&psp);
|
||||||
|
|
||||||
|
#if 1
|
||||||
/* Create the upgrade/repair selection page */
|
/* Create the upgrade/repair selection page */
|
||||||
psp.dwSize = sizeof(PROPSHEETPAGE);
|
psp.dwSize = sizeof(PROPSHEETPAGE);
|
||||||
psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
|
psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
|
||||||
|
@ -3092,7 +3177,7 @@ _tWinMain(HINSTANCE hInst,
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
#if 1
|
||||||
/* Create the installation progress page */
|
/* Create the installation progress page */
|
||||||
psp.dwSize = sizeof(PROPSHEETPAGE);
|
psp.dwSize = sizeof(PROPSHEETPAGE);
|
||||||
psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
|
psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
|
||||||
|
@ -3157,12 +3242,20 @@ Quit:
|
||||||
/* Free the NT to Win32 path prefix mapping list */
|
/* Free the NT to Win32 path prefix mapping list */
|
||||||
FreeNtToWin32PathMappingList(&SetupData.MappingList);
|
FreeNtToWin32PathMappingList(&SetupData.MappingList);
|
||||||
|
|
||||||
|
/* Force "Restart Now" if there are no other user-interactive windows */
|
||||||
|
SetupData.bMustReboot |= !AreThereInteractiveWindows(NULL);
|
||||||
|
|
||||||
/* System rebooting will be done by Winlogon if necessary */
|
/* System rebooting will be done by Winlogon if necessary */
|
||||||
|
if (SetupData.bMustReboot)
|
||||||
|
{
|
||||||
#if 0
|
#if 0
|
||||||
EnablePrivilege(SE_SHUTDOWN_NAME, TRUE);
|
EnablePrivilege(SE_SHUTDOWN_NAME, TRUE);
|
||||||
ExitWindowsEx(EWX_REBOOT, 0);
|
ExitWindowsEx(EWX_REBOOT, 0);
|
||||||
EnablePrivilege(SE_SHUTDOWN_NAME, FALSE);
|
EnablePrivilege(SE_SHUTDOWN_NAME, FALSE);
|
||||||
|
#else
|
||||||
|
DisplayMessage(NULL, MB_ICONWARNING, L"Restarting", L"Setup is now restarting your computer!");
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -54,6 +54,8 @@
|
||||||
#define SetDlgItemFont(hDlg, nID, hFont, bRedraw) \
|
#define SetDlgItemFont(hDlg, nID, hFont, bRedraw) \
|
||||||
SetWindowFont(GetDlgItem((hDlg), (nID)), (hFont), (bRedraw))
|
SetWindowFont(GetDlgItem((hDlg), (nID)), (hFont), (bRedraw))
|
||||||
|
|
||||||
|
// Property Sheet string IDs
|
||||||
|
#define IDS_CLOSE 4160 // 0x1040
|
||||||
/* These are public names and values determined from MFC, and compatible with Windows */
|
/* These are public names and values determined from MFC, and compatible with Windows */
|
||||||
// Property Sheet control id's (determined with Spy++)
|
// Property Sheet control id's (determined with Spy++)
|
||||||
#define IDC_TAB_CONTROL 0x3020
|
#define IDC_TAB_CONTROL 0x3020
|
||||||
|
@ -135,7 +137,7 @@ typedef struct _SETUPDATA
|
||||||
/* General */
|
/* General */
|
||||||
HINSTANCE hInstance;
|
HINSTANCE hInstance;
|
||||||
BOOL bUnattend;
|
BOOL bUnattend;
|
||||||
DWORD dwSetupType; // From HKLM\SYSTEM\Setup:SetupType registry value.
|
BOOL bMustReboot;
|
||||||
|
|
||||||
HFONT hTitleFont;
|
HFONT hTitleFont;
|
||||||
HFONT hBoldFont;
|
HFONT hBoldFont;
|
||||||
|
|
|
@ -66,8 +66,7 @@
|
||||||
#define IDC_FINISHTITLE 2071
|
#define IDC_FINISHTITLE 2071
|
||||||
#define IDC_FINISHTEXT 2072
|
#define IDC_FINISHTEXT 2072
|
||||||
#define IDC_RESTART_PROGRESS 2073
|
#define IDC_RESTART_PROGRESS 2073
|
||||||
#define IDC_PAUSE_COUNTDOWN 2074
|
#define IDC_STOP_COUNTDOWN 2074
|
||||||
#define IDC_RESTARTNOW 2075
|
|
||||||
|
|
||||||
#define IDD_ADVINSTOPTS 2080
|
#define IDD_ADVINSTOPTS 2080
|
||||||
#define IDC_PATH 2081
|
#define IDC_PATH 2081
|
||||||
|
@ -99,14 +98,13 @@
|
||||||
#define IDS_SUMMARYSUBTITLE 5010
|
#define IDS_SUMMARYSUBTITLE 5010
|
||||||
#define IDS_PROCESSTITLE 5011
|
#define IDS_PROCESSTITLE 5011
|
||||||
#define IDS_PROCESSSUBTITLE 5012
|
#define IDS_PROCESSSUBTITLE 5012
|
||||||
#define IDS_RESTARTTITLE 5013
|
|
||||||
#define IDS_RESTARTSUBTITLE 5014
|
|
||||||
#define IDS_ABORTSETUP 5020
|
#define IDS_ABORTSETUP 5020
|
||||||
#define IDS_ABORTSETUP2 5021
|
#define IDS_ABORTSETUP2 5021
|
||||||
#define IDS_NO_TXTSETUP_SIF 5022
|
#define IDS_NO_TXTSETUP_SIF 5022
|
||||||
#define IDS_FINISH_NO_REBOOT 5023
|
#define IDS_FINISH_NO_REBOOT 5023
|
||||||
#define IDS_INSTALLBTN 5030
|
#define IDS_INSTALLBTN 5030
|
||||||
#define IDS_REBOOTBTN 5031
|
#define IDS_RESTARTBTN 5031
|
||||||
|
#define IDS_POSTPONEBTN 5032
|
||||||
#define IDS_VOLUME_NOFORMAT 5040
|
#define IDS_VOLUME_NOFORMAT 5040
|
||||||
|
|
||||||
#define IDS_INSTALLATION_NAME 5100
|
#define IDS_INSTALLATION_NAME 5100
|
||||||
|
|
Loading…
Reference in a new issue