Pregunta

¿Cómo se programa una aplicación de Windows Mobile para que se inicie periódicamente y realice algún procesamiento en segundo plano?Por ejemplo, supongamos que estoy escribiendo un cliente de correo electrónico y quiero comprobar si hay correo electrónico cada hora, independientemente de si mi aplicación se está ejecutando en ese momento.

La aplicación es una aplicación C/C++ nativa en Windows Mobile 5.0 o posterior.

¿Fue útil?

Solución

la función que necesitas es:

CeRunAppAtTime( appname, time )

esa no es la firma exacta, también hay CeRunAppAtEvent, ambos deberían estar en los documentos de MSDN (pero vincular es inútil porque las URL de MSDN siempre cambian)

La forma normal de utilizarlos (y RunAppAtTime en el mundo gestionado a través de OpenNETCF.Win32.Notify ) es que para la ejecución periódica, cada vez que se ejecute su aplicación, se reprogramará para su siguiente tiempo de ejecución.

Si su aplicación se está ejecutando, la nueva instancia debería mostrar el proceso que ya se está ejecutando.Si no se está ejecutando, entonces es como si se iniciara normalmente: desde la memoria pasa algún argumento al proceso para que pueda saber si se está programando y no se está iniciando de otra manera.

Otros consejos

Utilice CeSetUserNotificationEx en lugar de CeRunAppAtTime (ya que está en desuso).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top