Пример #1
0
/* Property page dialog callback */
INT_PTR CALLBACK
AdvancedDlgProc(HWND hwndDlg,
                UINT uMsg,
                WPARAM wParam,
                LPARAM lParam)
{
  switch(uMsg)
  {
    case WM_INITDIALOG:
		hAdv = hwndDlg;
		Adv_InitDialog();
		return TRUE;
      break;
	case WM_COMMAND:
		switch(LOWORD(wParam))
		{
		case IDC_SYSTRAYBATTERYMETER:
		case IDC_PASSWORDLOGON:
		case IDC_VIDEODIMDISPLAY:
			if (HIWORD(wParam) == BN_CLICKED)
			{
				PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
			}
			break;
		case IDC_LIDCLOSE:
		case IDC_POWERBUTTON:
		case IDC_SLEEPBUTTON:
			if (HIWORD(wParam) == CBN_SELCHANGE)
			{
				PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
			}
			break;
		}
		break;
	case WM_NOTIFY:
		{
			LPNMHDR lpnm = (LPNMHDR)lParam;
			if (lpnm->code == (UINT)PSN_APPLY)
			{
				Adv_SaveData(hwndDlg);
			}
			return TRUE;
		}
  }
  return FALSE;
}
Пример #2
0
INT_PTR
Hib_SaveData(HWND hwndDlg)
{
	BOOLEAN bHibernate;

	bHibernate = (BOOLEAN)(IsDlgButtonChecked(hwndDlg, IDC_HIBERNATEFILE) == BST_CHECKED);

	if (CallNtPowerInformation(SystemReserveHiberFile,&bHibernate, sizeof(bHibernate), NULL, 0) == STATUS_SUCCESS)
	{
		Pos_InitData();
		Adv_InitDialog();
		Hib_InitDialog(hwndDlg);
		return TRUE;
	}

	return FALSE;
}
Пример #3
0
static VOID
Adv_SaveData(HWND hwndDlg)
{
	BOOL bSystrayBatteryMeter;
	BOOL bPasswordLogon;
	BOOL bVideoDimDisplay;

	bSystrayBatteryMeter =
		(IsDlgButtonChecked(hwndDlg, IDC_SYSTRAYBATTERYMETER) == BST_CHECKED);

	bPasswordLogon =
		(IsDlgButtonChecked(hwndDlg, IDC_PASSWORDLOGON) == BST_CHECKED);

	bVideoDimDisplay =
		(IsDlgButtonChecked(hwndDlg, IDC_VIDEODIMDISPLAY) == BST_CHECKED);

	if (bSystrayBatteryMeter)
	{
		if (!(gGPP.user.GlobalFlags & EnableSysTrayBatteryMeter))
		{
			gGPP.user.GlobalFlags = gGPP.user.GlobalFlags + EnableSysTrayBatteryMeter;
		}
	}
	else
	{
		if ((gGPP.user.GlobalFlags & EnableSysTrayBatteryMeter))
		{
			gGPP.user.GlobalFlags = gGPP.user.GlobalFlags - EnableSysTrayBatteryMeter;
		}
	}

	if (bPasswordLogon)
	{
		if (!(gGPP.user.GlobalFlags & EnablePasswordLogon))
		{
			gGPP.user.GlobalFlags = gGPP.user.GlobalFlags + EnablePasswordLogon;
		}
	}
	else
	{
		if ((gGPP.user.GlobalFlags & EnablePasswordLogon))
		{
			gGPP.user.GlobalFlags = gGPP.user.GlobalFlags - EnablePasswordLogon;
		}
	}

	if (bVideoDimDisplay)
	{
		if (!(gGPP.user.GlobalFlags & EnableVideoDimDisplay))
		{
			gGPP.user.GlobalFlags = gGPP.user.GlobalFlags + EnableVideoDimDisplay;
		}
	}
	else
	{
		if ((gGPP.user.GlobalFlags & EnableVideoDimDisplay))
		{
			gGPP.user.GlobalFlags = gGPP.user.GlobalFlags - EnableVideoDimDisplay;
		}
	}

	if (!IsBatteryUsed())
	{
		SaveCurrentPowerActionPolicy(GetDlgItem(hwndDlg, IDC_POWERBUTTON), &gGPP.user.PowerButtonAc);
#if 0
		SaveCurrentPowerActionPolicy(GetDlgItem(hwndDlg, IDC_LIDCLOSE), &gGPP.user.LidCloseAc);
		SaveCurrentPowerActionPolicy(GetDlgItem(hwndDlg, IDC_SLEEPBUTTON), &gGPP.user.SleepButtonAc);
#endif
	}
	else
	{
#if 0
		SaveCurrentPowerActionPolicy(GetDlgItem(hwndDlg, IDC_POWERBUTTON), &gGPP.user.PowerButtonDc);
		SaveCurrentPowerActionPolicy(GetDlgItem(hwndDlg, IDC_LIDCLOSE), &gGPP.user.LidCloseDc);
		SaveCurrentPowerActionPolicy(GetDlgItem(hwndDlg, IDC_SLEEPBUTTON), &gGPP.user.SleepButtonDc);
#endif
	}

	if (!WriteGlobalPwrPolicy(&gGPP))
	{
		MessageBox(hwndDlg, L"WriteGlobalPwrPolicy failed", NULL, MB_OK);
	}

	Adv_InitDialog();
}