switch (uMsg)
{
case WM_INITDIALOG:
- {
- HWND hwndControl;
- DWORD dwStyle;
-
/* Save pointer to the global setup data */
pSetupData = (PSETUPDATA)((LPPROPSHEETPAGE)lParam)->lParam;
SetWindowLongPtr(hwndDlg, GWL_USERDATA, (DWORD_PTR)pSetupData);
- hwndControl = GetParent(hwndDlg);
-
/* Center the wizard window */
- CenterWindow (hwndControl);
-
- dwStyle = GetWindowLongPtr(hwndControl, GWL_STYLE);
- SetWindowLongPtr(hwndControl, GWL_STYLE, dwStyle & ~WS_SYSMENU);
-
- /* Hide and disable the 'Cancel' button at the moment,
- * we use this button to cancel the setup process
- * like F3 in usetup
- */
- hwndControl = GetDlgItem(GetParent(hwndDlg), IDCANCEL);
- ShowWindow (hwndControl, SW_HIDE);
- EnableWindow (hwndControl, FALSE);
-
+ CenterWindow(GetParent(hwndDlg));
+
/* Set title font */
SendDlgItemMessage(hwndDlg,
IDC_STARTTITLE,
WM_SETFONT,
(WPARAM)pSetupData->hTitleFont,
(LPARAM)TRUE);
- }
- break;
+ break;
case WM_NOTIFY:
{
switch (uMsg)
{
case WM_INITDIALOG:
- {
- HWND hwndControl;
- DWORD dwStyle;
-
/* Save pointer to the global setup data */
pSetupData = (PSETUPDATA)((LPPROPSHEETPAGE)lParam)->lParam;
SetWindowLongPtr(hwndDlg, GWL_USERDATA, (DWORD_PTR)pSetupData);
- hwndControl = GetParent(hwndDlg);
-
- dwStyle = GetWindowLongPtr(hwndControl, GWL_STYLE);
- SetWindowLongPtr(hwndControl, GWL_STYLE, dwStyle & ~WS_SYSMENU);
-
+ /* Check the 'install' radio button */
CheckDlgButton(hwndDlg, IDC_INSTALL, BST_CHECKED);
+ /* Disable the 'update' radio button and text */
EnableWindow(GetDlgItem(hwndDlg, IDC_UPDATE), FALSE);
EnableWindow(GetDlgItem(hwndDlg, IDC_UPDATETEXT), FALSE);
- }
- break;
+ break;
case WM_NOTIFY:
{
{
case PSN_SETACTIVE:
PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_NEXT | PSWIZB_BACK);
- break;
+ break;
case PSN_QUERYCANCEL:
SetWindowLongPtr(hwndDlg,
switch (uMsg)
{
case WM_INITDIALOG:
- {
- HWND hwndControl;
- DWORD dwStyle;
-
/* Save pointer to the global setup data */
pSetupData = (PSETUPDATA)((LPPROPSHEETPAGE)lParam)->lParam;
SetWindowLongPtr(hwndDlg, GWL_USERDATA, (DWORD_PTR)pSetupData);
- hwndControl = GetParent(hwndDlg);
-
- dwStyle = GetWindowLongPtr(hwndControl, GWL_STYLE);
- SetWindowLongPtr(hwndControl, GWL_STYLE, dwStyle & ~WS_SYSMENU);
-
- /* Set title font */
- /*SendDlgItemMessage(hwndDlg,
- IDC_STARTTITLE,
- WM_SETFONT,
- (WPARAM)hTitleFont,
- (LPARAM)TRUE);*/
-
hList = GetDlgItem(hwndDlg, IDC_COMPUTER);
for (i=0; i < pSetupData->CompCount; i++)
SendMessage(hList,CB_SETITEMDATA,tindex,i);
}
SendMessage(hList,CB_SETCURSEL,0,0); // set first as default
- }
- break;
+ break;
case WM_NOTIFY:
{
switch (uMsg)
{
case WM_INITDIALOG:
- {
- HWND hwndControl;
- DWORD dwStyle;
-
/* Save pointer to the global setup data */
pSetupData = (PSETUPDATA)((LPPROPSHEETPAGE)lParam)->lParam;
SetWindowLongPtr(hwndDlg, GWL_USERDATA, (DWORD_PTR)pSetupData);
-
- hwndControl = GetParent(hwndDlg);
-
- dwStyle = GetWindowLongPtr(hwndControl, GWL_STYLE);
- SetWindowLongPtr(hwndControl, GWL_STYLE, dwStyle & ~WS_SYSMENU);
-
- /* Set title font */
- /*SendDlgItemMessage(hwndDlg,
- IDC_STARTTITLE,
- WM_SETFONT,
- (WPARAM)hTitleFont,
- (LPARAM)TRUE);*/
- }
- break;
+ break;
case WM_NOTIFY:
{
switch (uMsg)
{
case WM_INITDIALOG:
- {
- HWND hwndControl;
- DWORD dwStyle;
-
/* Save pointer to the global setup data */
pSetupData = (PSETUPDATA)((LPPROPSHEETPAGE)lParam)->lParam;
SetWindowLongPtr(hwndDlg, GWL_USERDATA, (DWORD_PTR)pSetupData);
-
- hwndControl = GetParent(hwndDlg);
-
- dwStyle = GetWindowLongPtr(hwndControl, GWL_STYLE);
- SetWindowLongPtr(hwndControl, GWL_STYLE, dwStyle & ~WS_SYSMENU);
-
- /* Set title font */
- /*SendDlgItemMessage(hwndDlg,
- IDC_STARTTITLE,
- WM_SETFONT,
- (WPARAM)hTitleFont,
- (LPARAM)TRUE);*/
- }
- break;
+ break;
case WM_NOTIFY:
{
WPARAM wParam,
LPARAM lParam)
{
+ PSETUPDATA pSetupData;
+
+ /* Retrieve pointer to the global setup data */
+ pSetupData = (PSETUPDATA)GetWindowLongPtr (hwndDlg, GWL_USERDATA);
+
switch (uMsg)
{
case WM_INITDIALOG:
- {
- HWND hwndControl;
- DWORD dwStyle;
-
- hwndControl = GetParent(hwndDlg);
-
- dwStyle = GetWindowLongPtr(hwndControl, GWL_STYLE);
- SetWindowLongPtr(hwndControl, GWL_STYLE, dwStyle & ~WS_SYSMENU);
-
- hwndControl = GetDlgItem(GetParent(hwndDlg), IDCANCEL);
- ShowWindow(hwndControl, SW_HIDE);
- EnableWindow(hwndControl, FALSE);
+ /* Save pointer to the global setup data */
+ pSetupData = (PSETUPDATA)((LPPROPSHEETPAGE)lParam)->lParam;
+ SetWindowLongPtr(hwndDlg, GWL_USERDATA, (DWORD_PTR)pSetupData);
/* Set title font */
/*SendDlgItemMessage(hwndDlg,
WM_SETFONT,
(WPARAM)hTitleFont,
(LPARAM)TRUE);*/
- }
- break;
+ break;
case WM_TIMER:
{
switch (lpnm->code)
{
case PSN_SETACTIVE: // Only "Finish" for closing the App
- {
PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_FINISH);
SendDlgItemMessage(hwndDlg, IDC_RESTART_PROGRESS, PBM_SETRANGE, 0, MAKELPARAM(0, 300));
SendDlgItemMessage(hwndDlg, IDC_RESTART_PROGRESS, PBM_SETPOS, 0, 0);
SetTimer(hwndDlg, 1, 50, NULL);
- }
- break;
+ break;
default:
break;
while (SetupFindNextLine(context, context) && Count < TotalCount);
}
}
- else return 0;
+ else return 0;
}
return TotalCount;
}
-BOOL isUnattendSetup()
+BOOL isUnattendSetup(VOID)
{
WCHAR szPath[MAX_PATH];
WCHAR *ch;
return result;
}
+#if 0
+static
+VOID
+EnableShutdownPrivilege(VOID)
+{
+ HANDLE hToken = NULL;
+ TOKEN_PRIVILEGES Privileges;
+
+ /* Get shutdown privilege */
+ if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken))
+ {
+// FatalError("OpenProcessToken() failed!");
+ return;
+ }
+
+ if (!LookupPrivilegeValue(NULL,
+ SE_SHUTDOWN_NAME,
+ &Privileges.Privileges[0].Luid))
+ {
+// FatalError("LookupPrivilegeValue() failed!");
+ goto done;
+ }
+
+ Privileges.PrivilegeCount = 1;
+ Privileges.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
+
+ if (AdjustTokenPrivileges(hToken,
+ FALSE,
+ &Privileges,
+ 0,
+ (PTOKEN_PRIVILEGES)NULL,
+ NULL) == 0)
+ {
+// FatalError("AdjustTokenPrivileges() failed!");
+ goto done;
+ }
+
+done:
+ if (hToken != NULL)
+ CloseHandle(hToken);
+
+ return;
+}
+#endif
+
int WINAPI
_tWinMain(HINSTANCE hInst,
HINSTANCE hPrevInstance,
if (pSetupData != NULL)
HeapFree(GetProcessHeap(), 0, pSetupData);
+#if 0
+ EnableShutdownPrivilege();
+ ExitWindowsEx(EWX_REBOOT, 0);
+#endif
+
return 0;
}