power.cpp
上传用户:jnfxsk
上传日期:2022-06-16
资源大小:3675k
文件大小:1k
源码类别:

游戏引擎

开发平台:

Visual C++

  1. /*
  2. ** Haaf's Game Engine 1.8
  3. ** Copyright (C) 2003-2007, Relish Games
  4. ** hge.relishgames.com
  5. **
  6. ** Core functions implementation: power status
  7. */
  8. #include "hge_impl.h"
  9. void HGE_Impl::_InitPowerStatus()
  10. {
  11. hKrnl32 = LoadLibrary("kernel32.dll");
  12. if(hKrnl32 != NULL)
  13. lpfnGetSystemPowerStatus = (GetSystemPowerStatusFunc)GetProcAddress(hKrnl32, "GetSystemPowerStatus");
  14. _UpdatePowerStatus();
  15. }
  16. void HGE_Impl::_UpdatePowerStatus()
  17. {
  18. SYSTEM_POWER_STATUS ps;
  19. if(lpfnGetSystemPowerStatus != NULL && lpfnGetSystemPowerStatus(&ps))
  20. {
  21. if(ps.ACLineStatus == 1)
  22. {
  23. nPowerStatus = HGEPWR_AC;
  24. }
  25. else if(ps.BatteryFlag < 128)
  26. {
  27. nPowerStatus = ps.BatteryLifePercent;
  28. }
  29. else
  30. {
  31. nPowerStatus = HGEPWR_UNSUPPORTED;
  32. }
  33. }
  34. else
  35. {
  36. nPowerStatus = HGEPWR_UNSUPPORTED;
  37. }
  38. }
  39. void HGE_Impl::_DonePowerStatus()
  40. {
  41. if(hKrnl32 != NULL) FreeLibrary(hKrnl32);
  42. }