Описание Powerstatus 1.1
| Powerstatus 1.1
				Дата добавления:  | 
Powerstatus - бесплатная компактная и полезная утилита отображает текущий статус заряда батарей и свободной памяти на самом верху экрана с помощью двух цветных полосок. C полностью открытым исходным текстом (Powerststus 1.1)
Обновление версии Powerstatus 1.3:
- Исправление ошибок
- Анимированная иконка заряда батареи
- Поддержка WM 5.0
Код версии Powerstatus 1.1:
// powerstatus.cpp : Defines the entry point for the application.
//
#include "Windows.h"
int WINAPI WinMain(   HINSTANCE hInstance,
               HINSTANCE hPrevInstance,
               LPTSTR    lpCmdLine,
               int       nCmdShow)
{
    // TODO: Place code here.
   SYSTEM_POWER_STATUS_EX pst;
   int i,cx,dx,ex,top,c;
   HDC hdc = ::GetDC(NULL);
   
   HPEN pe,pb,po,pm;
   pe = CreatePen(PS_SOLID,2,RGB(50,200,50));
   pm = CreatePen(PS_SOLID,2,RGB(250,150,50));
   pb = CreatePen(PS_SOLID,2,RGB(80,80,80));
   i=30;
   top = 1;
   c=0;
   
   while(1) {
      i++;
      if(i>15){
         i=0;
         GetSystemPowerStatusEx(&pst,true);
         if (pst.ACLineStatus==1) {
            pst.BatteryLifePercent=c;
            c+=25;if(c>100)c=0;
         }
         cx = GetSystemMetrics(SM_CXSCREEN) / 2;
         dx = (int)(cx * pst.BatteryLifePercent / 100.0);
         STORE_INFORMATION ss;
         GetStoreInformation(&ss);
         
         MEMORYSTATUS ms;
         GlobalMemoryStatus(&ms);
         
         float mfree;
         mfree = 1.0f/(ss.dwStoreSize+ms.dwTotalPhys)*(ss.dwFreeSize+ms.dwAvailPhys) ;//+ ms.dwMemoryLoad) / 2;
         
         ex = (int)(cx * mfree);
      }
      MoveToEx(hdc,0,top,NULL);
      po = (HPEN)SelectObject(hdc,pe);
      LineTo(hdc,dx,top);
      SelectObject(hdc,pb);
      LineTo(hdc,cx,top);
      SelectObject(hdc,pm);
      LineTo(hdc,ex +cx,top);
      SelectObject(hdc,pb);
      LineTo(hdc,cx*2,top);
      SelectObject(hdc,po);
      Sleep(100);
   }
   DeleteObject(pe);
   DeleteObject(pm);
   DeleteObject(pb);
   ::ReleaseDC(NULL, hdc);
   return 0;
}
Совместимомь: Pocket PC 2002, Windows Mobile 2003, Windows Mobile 2003 SE
Разработчик: Inteks





 
			



























































