static BOOLEAN CreateEnergyList(HWND hwnd) { BOOLEAN retval; POWER_POLICY pp; SYSTEM_POWER_CAPABILITIES spc; hList = hwnd; if (!GetActivePwrScheme(&aps)) return FALSE; if (!ReadGlobalPwrPolicy(&gGPP)) return FALSE; if (!ReadPwrScheme(aps,&pp)) return FALSE; if (!ValidatePowerPolicies(&gGPP,0)) return FALSE; /* if (!SetActivePwrScheme(aps,&gGPP,&pp)) return FALSE; */ if (!GetPwrCapabilities(&spc)) return FALSE; if (CanUserWritePwrScheme()) { // TODO: // Enable write / delete powerscheme button } Pos_InitPage(GetParent(hwnd)); if (!GetActivePwrScheme(&aps)) return FALSE; retval = EnumPwrSchemes(callback_EnumPwrScheme, aps); if(SendMessage(hwnd, CB_GETCOUNT, 0, 0) > 0) { EnableWindow(GetDlgItem(hwndDialog, IDC_DELETE_BTN),TRUE); EnableWindow(GetDlgItem(hwndDialog, IDC_SAVEAS_BTN),TRUE); } return retval; }
static BOOLEAN Ala_InitData(HWND hwndDlg) { TCHAR szAction[MAX_PATH]; TCHAR szText[MAX_PATH]; TCHAR szSound[MAX_PATH]; TCHAR szMessage[MAX_PATH]; TCHAR szTemp[MAX_PATH]; TCHAR szBatteryLevel[MAX_PATH]; TCHAR szProgram[MAX_PATH]; if (!ReadGlobalPwrPolicy(&gGPP)) { return FALSE; } if (gGPP.user.DischargePolicy[DISCHARGE_POLICY_LOW].Enable) { CheckDlgButton(hwndDlg, IDC_ALARM1, gGPP.user.DischargePolicy[DISCHARGE_POLICY_LOW].Enable ? BST_CHECKED : BST_UNCHECKED); if (LoadString(hApplet, IDS_PROCENT, szTemp, MAX_PATH)) { _stprintf(szBatteryLevel, szTemp, gGPP.user.DischargePolicy[DISCHARGE_POLICY_LOW].BatteryLevel); SetDlgItemText(hwndDlg, IDC_ALARMVALUE1, szBatteryLevel); } SendDlgItemMessage(hwndDlg, IDC_ALARMBAR1, TBM_SETRANGE, (WPARAM)TRUE, (LPARAM)MAKELONG(0, 100)); SendDlgItemMessage(hwndDlg, IDC_ALARMBAR1, TBM_SETTICFREQ, (WPARAM)TRUE, (LPARAM)20); SendDlgItemMessage(hwndDlg, IDC_ALARMBAR1, TBM_SETPOS, (WPARAM)TRUE, (LPARAM)gGPP.user.DischargePolicy[DISCHARGE_POLICY_LOW].BatteryLevel); if (LoadString(hApplet, gGPP.user.DischargePolicy[DISCHARGE_POLICY_LOW].PowerPolicy.Action+IDS_PowerActionNone1, szAction, MAX_PATH)) { SetDlgItemText(hwndDlg, IDC_ALARMAKTION1, szAction); } memset(szMessage, 0x0, sizeof(szMessage)); LoadString(hApplet, IDS_NOACTION, szMessage, MAX_PATH); if (LOWORD(gGPP.user.DischargePolicy[DISCHARGE_POLICY_LOW].PowerPolicy.EventCode) & POWER_LEVEL_USER_NOTIFY_TEXT) { if (LOWORD(gGPP.user.DischargePolicy[DISCHARGE_POLICY_LOW].PowerPolicy.EventCode) & POWER_LEVEL_USER_NOTIFY_SOUND) { if (LoadString(hApplet, IDS_SOUND, szSound, MAX_PATH) && LoadString(hApplet, IDS_TEXT, szText, MAX_PATH)) { _stprintf(szMessage,_T("%s, %s"),szSound,szText); } } else { if (LoadString(hApplet, IDS_TEXT, szText, MAX_PATH)) { _stprintf(szMessage,_T("%s"),szText); } } } else { if (LOWORD(gGPP.user.DischargePolicy[DISCHARGE_POLICY_LOW].PowerPolicy.EventCode) & POWER_LEVEL_USER_NOTIFY_SOUND) { if (LoadString(hApplet, IDS_SOUND, szSound, MAX_PATH)) { _stprintf(szMessage,_T("%s"),szSound); } } } SetDlgItemText(hwndDlg, IDC_ALARMMSG1, szMessage); if (LoadString(hApplet, IDS_PowerActionNone2, szProgram, MAX_PATH)) { SetDlgItemText(hwndDlg, IDC_ALARMPROG1, szProgram); } } if (gGPP.user.DischargePolicy[DISCHARGE_POLICY_CRITICAL].Enable) { CheckDlgButton(hwndDlg, IDC_ALARM2, gGPP.user.DischargePolicy[DISCHARGE_POLICY_CRITICAL].Enable ? BST_CHECKED : BST_UNCHECKED); if (LoadString(hApplet, IDS_PROCENT, szTemp, MAX_PATH)) { _stprintf(szBatteryLevel, szTemp, gGPP.user.DischargePolicy[DISCHARGE_POLICY_CRITICAL].BatteryLevel); SetDlgItemText(hwndDlg, IDC_ALARMVALUE2, szBatteryLevel); } SendDlgItemMessage(hwndDlg, IDC_ALARMBAR2, TBM_SETRANGE, (WPARAM)TRUE, (LPARAM)MAKELONG(0, 100)); SendDlgItemMessage(hwndDlg, IDC_ALARMBAR2, TBM_SETPOS, (WPARAM)TRUE, (LPARAM)gGPP.user.DischargePolicy[DISCHARGE_POLICY_CRITICAL].BatteryLevel); if (LoadString(hApplet, gGPP.user.DischargePolicy[DISCHARGE_POLICY_CRITICAL].PowerPolicy.Action+IDS_PowerActionNone1, szAction, MAX_PATH)) { SetDlgItemText(hwndDlg, IDC_ALARMAKTION2, szAction); } memset(szMessage, 0x0, sizeof(szMessage)); LoadString(hApplet, IDS_NOACTION, szMessage, MAX_PATH); if (LOWORD(gGPP.user.DischargePolicy[DISCHARGE_POLICY_CRITICAL].PowerPolicy.EventCode) & POWER_LEVEL_USER_NOTIFY_TEXT) { if (LOWORD(gGPP.user.DischargePolicy[DISCHARGE_POLICY_CRITICAL].PowerPolicy.EventCode) & POWER_LEVEL_USER_NOTIFY_SOUND) { if (LoadString(hApplet, IDS_TEXT, szText, MAX_PATH) && LoadString(hApplet, IDS_SOUND, szSound, MAX_PATH)) { _stprintf(szMessage,_T("%s, %s"),szSound,szText); } } else { if (LoadString(hApplet, IDS_TEXT, szText, MAX_PATH)) { _stprintf(szMessage,_T("%s"),szText); } } } else { if (LOWORD(gGPP.user.DischargePolicy[DISCHARGE_POLICY_CRITICAL].PowerPolicy.EventCode) & POWER_LEVEL_USER_NOTIFY_SOUND) { if (LoadString(hApplet, IDS_SOUND, szSound, MAX_PATH)) { _stprintf(szMessage,_T("%s"),szSound); } } } SetDlgItemText(hwndDlg, IDC_ALARMMSG2, szMessage); if (LoadString(hApplet, IDS_PowerActionNone2, szProgram, MAX_PATH)) { SetDlgItemText(hwndDlg, IDC_ALARMPROG2, szProgram); } } return TRUE; }
VOID Adv_InitDialog(VOID) { HWND hList1; HWND hList2; HWND hList3; BOOLEAN bSuspend = FALSE; BOOLEAN bHibernate; BOOLEAN bShutdown; SYSTEM_POWER_CAPABILITIES spc; CheckDlgButton(hAdv, IDC_SYSTRAYBATTERYMETER, gGPP.user.GlobalFlags & EnableSysTrayBatteryMeter ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hAdv, IDC_PASSWORDLOGON, gGPP.user.GlobalFlags & EnablePasswordLogon ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hAdv, IDC_VIDEODIMDISPLAY, gGPP.user.GlobalFlags & EnableVideoDimDisplay ? BST_CHECKED : BST_UNCHECKED); GetPwrCapabilities(&spc); if (spc.SystemS1 || spc.SystemS2 || spc.SystemS3) bSuspend=TRUE; bHibernate = spc.HiberFilePresent; bShutdown = spc.SystemS5; hList1 = GetDlgItem(hAdv, IDC_LIDCLOSE); SendMessage(hList1, CB_RESETCONTENT, 0, 0); memset(g_SystemBatteries, 0x0, sizeof(g_SystemBatteries)); if (spc.SystemBatteriesPresent) { AddItem(hList1, IDS_PowerActionNone1, (LPARAM)PowerActionNone, g_SystemBatteries); if (bSuspend) { AddItem(hList1, IDS_PowerActionSleep, (LPARAM)PowerActionSleep, g_SystemBatteries); } if (bHibernate) { AddItem(hList1, IDS_PowerActionHibernate, (LPARAM)PowerActionHibernate, g_SystemBatteries); } } else { ShowWindow(GetDlgItem(hAdv, IDC_VIDEODIMDISPLAY), FALSE); ShowWindow(GetDlgItem(hAdv, IDC_SLIDCLOSE), FALSE); ShowWindow(hList1, FALSE); } hList2 = GetDlgItem(hAdv, IDC_POWERBUTTON); SendMessage(hList2, CB_RESETCONTENT, 0, 0); memset(g_PowerButton, 0x0, sizeof(g_PowerButton)); if (spc.PowerButtonPresent) { AddItem(hList2, IDS_PowerActionNone1, (LPARAM)PowerActionNone, g_PowerButton); AddItem(hList2, IDS_PowerActionWarmEject, (LPARAM)PowerActionWarmEject, g_PowerButton); if (bSuspend) { AddItem(hList2, IDS_PowerActionSleep, (LPARAM)PowerActionSleep, g_PowerButton); } if (bHibernate) { AddItem(hList2, IDS_PowerActionHibernate, (LPARAM)PowerActionHibernate, g_PowerButton); } if (bShutdown) { AddItem(hList2, IDS_PowerActionShutdown, (LPARAM)PowerActionShutdown, g_PowerButton); } } else { ShowWindow(GetDlgItem(hAdv, IDC_SPOWERBUTTON), FALSE); ShowWindow(hList2, FALSE); } hList3=GetDlgItem(hAdv, IDC_SLEEPBUTTON); SendMessage(hList3, CB_RESETCONTENT, 0, 0); memset(g_SleepButton, 0x0, sizeof(g_SleepButton)); if (spc.SleepButtonPresent) { AddItem(hList3, IDS_PowerActionNone1, (LPARAM)PowerActionNone, g_SleepButton); AddItem(hList3, IDS_PowerActionWarmEject, (LPARAM)PowerActionWarmEject, g_SleepButton); if (bSuspend) { AddItem(hList3, IDS_PowerActionSleep, (LPARAM)PowerActionSleep, g_SleepButton); } if (bHibernate) { AddItem(hList3, IDS_PowerActionHibernate, (LPARAM)PowerActionHibernate, g_SleepButton); } if (bShutdown) { AddItem(hList3, IDS_PowerActionShutdown, (LPARAM)PowerActionShutdown, g_SleepButton); } } else { ShowWindow(GetDlgItem(hAdv, IDC_SSLEEPBUTTON), FALSE); ShowWindow(hList3, FALSE); } if (ReadGlobalPwrPolicy(&gGPP)) { ShowCurrentPowerActionPolicies(hAdv); } }