2010-11-02 6 views
1

Je développe une application Windows Mobile qui sera démarrée automatiquement au démarrage du système. J'ai besoin d'exécuter cette application en tant que service qui ne devrait pas montrer l'interface utilisateur (indication de progression) quand il charge et effectue un traitement pendant le chargement.Application Windows Mobile sans interface utilisateur (Service like)

J'ai essayé d'utiliser http://managedserviceswm.codeplex.com/, mais il montre UI (indication de progression) que mon application effectue un traitement lourd au démarrage. Est-il possible de faire le traitement en arrière-plan (ou thread NON-UI) qui n'affectera pas l'interaction de l'utilisateur avec le périphérique et ne montre pas l'indication de progression que quelque chose se passe dans le périphérique?

Répondre

1

Le curseur d'attente est affiché par le moteur d'exécution lorsqu'il charge et JIT les assemblys nécessaires pour exécuter votre application. Il n'y a aucun moyen d'empêcher cette forme de se produire. Tout ce que vous pouvez faire est de tenter de le minimiser en gardant la quantité de constructeur et l'initialisation statique au minimum et de construire les objets après que le CLR a fait tout son chargement.

+0

Je n'ai aucun problème avec le chargement CLR. Mais, mon application elle-même fait un traitement lourd qui prend environ 15-20 secondes et le curseur d'attente est affiché pendant ce temps. Windows Services n'affiche pas le curseur d'attente même s'il effectue un traitement lourd. Comment pouvons-nous cacher le curseur d'attente uniquement pour le traitement de l'application? –

+0

À moins que l'application appelle pour définir le curseur d'attente (c.-à-d. Cursor.Current = Cursors.Wait) alors je ne peux pas penser à aucune explication. Je n'ai jamais vu le curseur d'attente apparaître sans être demandé sauf le chargement du CLR. – ctacke

+0

Je ne suis pas nommé Cursor.Current = Cursors.Wait. C'est le lourd traitement au démarrage de l'application qui amène le curseur à afficher le mode attente. Ma question est, "Windows Services ne montre pas le curseur d'attente, même si elle effectue un traitement lourd en arrière-plan au démarrage du système". Comment puis-je atteindre la même chose? –

Questions connexes