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.

Foi útil?

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).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top