Puede hacerse un Soft Reset del Pocket desde el programa???

Post Reply
User avatar
Rafael Clemente
Posts: 365
Joined: Sat Oct 08, 2005 7:59 pm
Location: Barcelona, Spain

Puede hacerse un Soft Reset del Pocket desde el programa???

Post by Rafael Clemente »

Quisiera incluir en mi programa un botón que fuerce un soft reset del PC.
(lo necesito por si pierdo el enlace con un dispositivo Bluetooth para poder reponerlo. O alguien sabe alguna forma más elegante?)

Supongo que en el API debe haber alguna forma de forzar el reset del ordenador. Alguien podría postear el código necesario?
Gracias

Rafael
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Rafael,

Prueba así:

Code: Select all

#pragma BEGINDUMP

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

HB_FUNC( EXITWINDOWSEX )
{
   hb_retl( ExitWindowsEx( EWX_REBOOT, 0 ) );
}

#pragma ENDDUMP
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Rafael Clemente
Posts: 365
Joined: Sat Oct 08, 2005 7:59 pm
Location: Barcelona, Spain

Post by Rafael Clemente »

Antonio:
Creo que me falta algo. Al compilar me da:

error C2065: 'ExitWindowsEx' : undeclared identifier

(Utilizo la versión FWPPC de 24 agosto 2006) Un saludo,

Rafael
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Rafael,

Tienes que enlazar aygshell.lib tambien.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Rafael Clemente
Posts: 365
Joined: Sat Oct 08, 2005 7:59 pm
Location: Barcelona, Spain

Post by Rafael Clemente »

Antonio:

Ya la enlazaba pero sigue sin compilar. ¿aygshell.lib ha de ir en alguna posición especial? Yo utilizo el bat de compilación estándard que viene con el FWPPC. Aclaro que por ahora me he limitado a copiar tu código al final de mi fuente, sin ni siquiera hacerle ninguna llamada.

Me sigue faltando algo...
Rafael
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Rafael,

Lo estamos revisando...
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Rafael,

Este es el código correcto, pero no hace reboot de momento...

Code: Select all

#include "FWCE.ch"

function Main()

   local oWnd
   
   DEFINE WINDOW oWnd TITLE "Exit"
   
   @ 2, 2 BUTTON "Reboot" SIZE 80, 20 ACTION MsgInfo( ExitWindowsEx() )
   
   ACTIVATE WINDOW oWnd 
   
return nil

#pragma BEGINDUMP 

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

extern "C" { BOOL ExitWindowsEx( UINT uFlags, DWORD dwReserved ); }

HB_FUNC( EXITWINDOWSEX ) 
{ 
   hb_retl( ExitWindowsEx( EWX_REBOOT, 0 ) ); 
} 

#pragma ENDDUMP
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply