Page 1 of 1

Battery Life retorna sempre 39

Posted: Tue Sep 05, 2006 9:19 pm
by Mauro
Olá a Todos

Este é o código que peguei aqui no forum,
ao compilar da este erro:
warning C4700: local variable 'status' used without having been initialized
para as duas linhas onde o "SYSTEM_POWER_STATUS_EX status;" está declarado,
e retorna na "status.BackupBatteryLifePercent" sempre 39, seja no emulador como no pocket, um IPAQ 1930.
Alguma idéia ?

Saludos

Mauro

Code: Select all | Expand

#pragma BEGINDUMP

#include <hbapi.h>
#include <windows.h>
#include <aygshell.h>

HB_FUNC (BATTERYLIFE)
{
   BOOL iRet;
   SYSTEM_POWER_STATUS_EX status;
   iRet =  (&status, TRUE);

   hb_retnl ((INT) status.BatteryLifePercent);
}
HB_FUNC (BATTERYINFO)
{
   BOOL iRet;
   SYSTEM_POWER_STATUS_EX status;
   iRet =  (&status, TRUE);

   hb_reta (9);
   hb_stornl ((INT) status.ACLineStatus, -1, 1);
   hb_stornl ((INT) status.BatteryFlag, -1, 2);
   hb_stornl ((INT) status.BatteryLifePercent, -1, 3);
   hb_stornl ((ULONG) status.BatteryLifeTime, -1, 4);
   hb_stornl ((ULONG) status.BatteryFullLifeTime, -1, 5);
   hb_stornl ((INT) status.BackupBatteryFlag, -1, 6);
   hb_stornl ((INT) status.BackupBatteryLifePercent, -1, 7);
   hb_stornl ((ULONG) status.BackupBatteryLifeTime, -1, 8);
   hb_stornl ((ULONG) status.BackupBatteryFullLifeTime, -1, 9);
}

#pragma ENDDUMP


Posted: Tue Sep 05, 2006 9:26 pm
by Antonio Linares
Mauro,

Change this line:

iRet = GetSystemPowerStatusE x( &status, TRUE );

"Ex" together

Posted: Wed Sep 06, 2006 3:10 pm
by Mauro
Antonio Linares wrote:Mauro,

Change this line:

iRet = GetSystemPowerStatusE x( &status, TRUE );

"Ex" together


Antonio,
funcionou muito bem
Obrigado,
Saludos

Mauro