Agendando a execução de aplicativos do Windows Mobile
-
09-06-2019 - |
Pergunta
Como você agenda um aplicativo do Windows Mobile para iniciar periodicamente para executar algum processamento em segundo plano.Por exemplo, suponha que eu esteja escrevendo para um cliente de e-mail e queira verificar e-mails a cada hora, independentemente de meu aplicativo estar em execução no momento.
O aplicativo é um aplicativo C/C++ nativo no Windows Mobile 5.0 ou posterior.
Solução
a função que você precisa é:
CeRunAppAtTime( appname, time )
essa não é a assinatura exata, também há CeRunAppAtEvent
, ambos devem estar nos documentos do MSDN (mas a vinculação é inútil, pois os URLs do MSDN sempre mudam)
A maneira normal de usar estes (e RunAppAtTime
no mundo gerenciado por meio OpenNETCF.Win32.Notify
) é que, para execução periódica, toda vez que seu aplicativo for executado, ele será reagendado para o próximo tempo de execução.
Se seu aplicativo estiver em execução, a nova instância deverá abrir o processo já em execução.Se não estiver em execução, é como iniciar normalmente - do mmory ele passa algum argumento para o processo para saber se está sendo agendado e não iniciado de outra maneira.
Outras dicas
Use CeSetUserNotificationEx em vez de CeRunAppAtTime (pois está obsoleto).