Ejemplo n.º 1
0
BOOLEAN
Pos_InitData(VOID)
{
	SYSTEM_POWER_CAPABILITIES spc;
/*
	RECT rectCtl, rectDlg, rectCtl2;
	LONG movetop = 0;
	LONG moveright = 0;

	if (GetWindowRect(hPos,&rectDlg))
		{
			if (GetWindowRect(GetDlgItem(hPos, IDC_SAT),&rectCtl2))
			{
				if (GetWindowRect(GetDlgItem(hPos, IDC_MONITOR),&rectCtl))
				{
					movetop=rectCtl.top - rectCtl2.top;
					MoveWindow(GetDlgItem(hPos, IDC_MONITOR),rectCtl.left-rectDlg.left,rectCtl.top-rectDlg.top-movetop,rectCtl.right-rectCtl.left,rectCtl.bottom-rectCtl.top,FALSE);
					if (GetWindowRect(GetDlgItem(hPos, IDC_DISK),&rectCtl))
					{
						MoveWindow(GetDlgItem(hPos, IDC_DISK),rectCtl.left-rectDlg.left,rectCtl.top-rectDlg.top-movetop,rectCtl.right-rectCtl.left,rectCtl.bottom-rectCtl.top,FALSE);
					}
					if (GetWindowRect(GetDlgItem(hPos, IDC_STANDBY),&rectCtl))
					{
						MoveWindow(GetDlgItem(hPos, IDC_STANDBY),rectCtl.left-rectDlg.left,rectCtl.top-rectDlg.top-movetop,rectCtl.right-rectCtl.left,rectCtl.bottom-rectCtl.top,FALSE);
					}
					if (GetWindowRect(GetDlgItem(hPos, IDC_HYBERNATE),&rectCtl))
					{
						MoveWindow(GetDlgItem(hPos, IDC_HYBERNATE),rectCtl.left-rectDlg.left,rectCtl.top-rectDlg.top-movetop,rectCtl.right-rectCtl.left,rectCtl.bottom-rectCtl.top,FALSE);
					}
					if (GetWindowRect(GetDlgItem(hPos, IDC_MONITORDCLIST),&rectCtl2))
					{
						movetop=movetop-8;
						if (GetWindowRect(GetDlgItem(hPos, IDC_MONITORACLIST),&rectCtl))
						{
							moveright=rectCtl.right - rectCtl2.right;
							MoveWindow(GetDlgItem(hPos, IDC_MONITORACLIST),rectCtl.left-rectDlg.left,rectCtl.top-rectDlg.top-movetop,rectCtl.right-rectCtl.left-moveright,rectCtl.bottom-rectCtl.top,FALSE);
							if (GetWindowRect(GetDlgItem(hPos, IDC_DISKACLIST),&rectCtl))
							{
								MoveWindow(GetDlgItem(hPos, IDC_DISKACLIST),rectCtl.left-rectDlg.left,rectCtl.top-rectDlg.top-movetop,rectCtl.right-rectCtl.left-moveright,rectCtl.bottom-rectCtl.top,FALSE);
							}
							if (GetWindowRect(GetDlgItem(hPos, IDC_STANDBYACLIST),&rectCtl))
							{
								MoveWindow(GetDlgItem(hPos, IDC_STANDBYACLIST),rectCtl.left-rectDlg.left,rectCtl.top-rectDlg.top-movetop,rectCtl.right-rectCtl.left-moveright,rectCtl.bottom-rectCtl.top,FALSE);
							}
							if (GetWindowRect(GetDlgItem(hPos, IDC_HYBERNATEACLIST),&rectCtl))
							{
								MoveWindow(GetDlgItem(hPos, IDC_HYBERNATEACLIST),rectCtl.left-rectDlg.left,rectCtl.top-rectDlg.top-movetop,rectCtl.right-rectCtl.left-moveright,rectCtl.bottom-rectCtl.top,FALSE);
							}
						}
						if (GetWindowRect(GetDlgItem(hPos, IDC_GRPDETAIL),&rectCtl))
						{
							MoveWindow(GetDlgItem(hPos, IDC_GRPDETAIL),rectCtl.left-rectDlg.left,rectCtl.top-rectDlg.top,rectCtl.right-rectCtl.left,rectCtl.bottom-rectCtl.top,FALSE);
						}
					}
				}
			}
		}
	}
*/

	if (!GetPwrCapabilities(&spc))
	{
		return FALSE;
	}

	if (!spc.SystemBatteriesPresent)
	{
		ShowWindow(GetDlgItem(hPos, IDC_SAT),FALSE);
		ShowWindow(GetDlgItem(hPos, IDC_IAC),FALSE);
		ShowWindow(GetDlgItem(hPos, IDC_SAC),FALSE);
		ShowWindow(GetDlgItem(hPos, IDC_IDC),FALSE);
		ShowWindow(GetDlgItem(hPos, IDC_SDC),FALSE);
		ShowWindow(GetDlgItem(hPos, IDC_MONITORDCLIST),FALSE);
		ShowWindow(GetDlgItem(hPos, IDC_DISKDCLIST),FALSE);
		ShowWindow(GetDlgItem(hPos, IDC_STANDBYDCLIST),FALSE);
		ShowWindow(GetDlgItem(hPos, IDC_HYBERNATEDCLIST),FALSE);
		ShowWindow(GetDlgItem(hPos, IDC_HYBERNATEACLIST), spc.HiberFilePresent);

	}
	else
	{
		ShowWindow(GetDlgItem(hPos, IDC_HYBERNATEDCLIST), spc.HiberFilePresent);
		ShowWindow(GetDlgItem(hPos, IDC_HYBERNATEACLIST), FALSE);
	}


	if (!(spc.SystemS1 ||spc.SystemS2 || spc.SystemS3))
	{
		ShowWindow(GetDlgItem(hPos, IDC_STANDBYACLIST), TRUE);
		ShowWindow(GetDlgItem(hPos, IDC_STANDBYDCLIST), TRUE);
		ShowWindow(GetDlgItem(hPos, IDC_STANDBY), TRUE);
	}

	ShowWindow(GetDlgItem(hPos, IDC_HYBERNATE), spc.HiberFilePresent);

	return TRUE;
}
Ejemplo n.º 2
0
static VOID
Hib_InitDialog(HWND hwndDlg)
{
	SYSTEM_POWER_CAPABILITIES PowerCaps;
	MEMORYSTATUSEX msex;
	TCHAR szSize[MAX_PATH];
	TCHAR szTemp[MAX_PATH];
	ULARGE_INTEGER FreeBytesAvailable, TotalNumberOfBytes, TotalNumberOfFreeBytes;

	if (GetPwrCapabilities(&PowerCaps))
	{
		CheckDlgButton(hwndDlg,
			       IDC_HIBERNATEFILE,
			       PowerCaps.HiberFilePresent ? BST_CHECKED : BST_UNCHECKED);

		msex.dwLength = sizeof(msex);
		if (!GlobalMemoryStatusEx(&msex))
		{
			return; //FIXME
		}

		if (GetWindowsDirectory(szTemp,MAX_PATH))
		{
			if (!GetDiskFreeSpaceEx(szTemp,&FreeBytesAvailable, &TotalNumberOfBytes, &TotalNumberOfFreeBytes))
				TotalNumberOfFreeBytes.QuadPart = 0;
		}
		else
		{
			if (!GetDiskFreeSpaceEx(NULL,&FreeBytesAvailable, &TotalNumberOfBytes, &TotalNumberOfFreeBytes))
				TotalNumberOfFreeBytes.QuadPart = 0;
		}

		if (TotalNumberOfFreeBytes.QuadPart > 0x100000)
		{
			if (LoadString(hApplet, IDS_SIZEMB, szTemp, MAX_PATH))
			{
				_stprintf(szSize,szTemp,TotalNumberOfFreeBytes.QuadPart / 0x100000);
				SetDlgItemText(hwndDlg, IDC_FREESPACE, szSize);
			}
		}
		else
		{
			if (LoadString(hApplet, IDS_SIZEBYTS, szTemp, MAX_PATH))
			{
				_stprintf(szSize,szTemp,TotalNumberOfFreeBytes.QuadPart);
				SetDlgItemText(hwndDlg, IDC_FREESPACE, szSize);
			}
		}

		if (msex.ullTotalPhys>0x100000)
		{
			if (LoadString(hApplet, IDS_SIZEMB, szTemp, MAX_PATH))
			{
				_stprintf(szSize,szTemp,msex.ullTotalPhys/0x100000);
				SetDlgItemText(hwndDlg, IDC_SPACEFORHIBERNATEFILE,szSize);
			}
		}
		else
		{
			if (LoadString(hApplet, IDS_SIZEBYTS, szTemp, MAX_PATH))
			{
				_stprintf(szSize,szTemp,msex.ullTotalPhys);
				SetDlgItemText(hwndDlg, IDC_SPACEFORHIBERNATEFILE, szSize);
			}
		}

		if (TotalNumberOfFreeBytes.QuadPart < msex.ullTotalPhys && !PowerCaps.HiberFilePresent)
		{
			EnableWindow(GetDlgItem(hwndDlg, IDC_HIBERNATEFILE), FALSE);
			ShowWindow(GetDlgItem(hwndDlg, IDC_TOLESSFREESPACE), TRUE);
		}
		else
		{
			ShowWindow(GetDlgItem(hwndDlg, IDC_TOLESSFREESPACE), FALSE);
			EnableWindow(GetDlgItem(hwndDlg, IDC_HIBERNATEFILE), TRUE);
		}
	}
}
JNIEXPORT jboolean JNICALL Java_keccs_hitTheHay_core_NativeInterface_isHibernateAvailable(JNIEnv *env, jclass c) {
	SYSTEM_POWER_CAPABILITIES cap;
	GetPwrCapabilities(&cap);
	return cap.SystemS4 && cap.HiberFilePresent ? JNI_TRUE : JNI_FALSE;
}
Ejemplo n.º 4
0
CWin32PowerSyscall::CWin32PowerSyscall()
{
  m_hascapabilities = GetPwrCapabilities(&m_capabilities);
  m_worker.Create();
}
Ejemplo n.º 5
0
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);
	}
}