2012-11-06 3 views
1

J'essaie actuellement de lancer automatiquement une application écrite en .Net CF 2.0 lors du démarrage d'un périphérique Windows CE 5.0. Basé sur cet article: http://blogs.msdn.com/b/cenet/archive/2004/12/03/274661.aspx J'ai essayé de mettre un raccourci vers mon application dans le dossier Démarrage du répertoire Windows ou d'ajouter une valeur de registre au HKLM \ init comme "Launch77" = "app.exe" qui ne travailler parce que le stockage et le registre de l'appareil sont volatiles et se réinitialiser lorsque l'appareil est éteint.Exécution de l'application au démarrage dans Windows CE 5.0

Ensuite, j'ai essayé d'utiliser le registre hive et j'ai créé system.hv pour que le registre change de façon persistante, mais dans HKLM \ init \ BootVars, SystemHive est défini sur un dossier résidant sur le stockage volatile.

Existe-t-il un autre moyen de démarrer l'application? Puis-je forcer l'appareil à utiliser la carte mémoire pour sauvegarder/restaurer le registre?

+1

La plupart des fournisseurs de périphériques CE fournissent leur propre solution (propriétaire) à ce problème. Quel vendeur utilisez-vous? – tcarvin

+0

C'est un Motia iMDT5000 http://www.motia.co.kr/product/product_06.asp – reticent

Répondre

4

La réponse dépend vraiment de la configuration de l'appareil. Si rien ne persiste sur l'appareil, y compris le registre, il sera très difficile de faire fonctionner ceci à moins que l'OEM fournisse une séquence de "démarrage" propriétaire (beaucoup le font, mais c'est spécifique aux OEM).

Généralement, si vous avez un système de fichiers persistant, vous devez mettre un raccourci vers l'application dans le dossier \ Windows \ Startup. Si le système de fichiers n'est pas persistant, cela ne fonctionnera pas.

Si vous avez un registre persistant (vous devrez peut-être appeler RegFlushKey après avoir fait le changement pour obtenir de persister), puis en utilisant la clé HKLM\Init devrait fonctionner (assuming you wait until all of the proper APIs are ready to launch the CLR).

Si aucun de ces éléments n'est disponible, vérifiez auprès du fabricant d'origine. Presque tous les appareils que j'ai utilisés avaient un moyen de lancer une application de stockage (flash interne, USB, SD, etc.), mais encore une fois, il est très spécifique à l'appareil, donc je ne peux pas vous orienter dans une direction spécifique.

+1

J'ai contacté le vendeur et j'ai découvert que mettre une application nommée "mlaunch.exe" à l'intérieur du stockage flash de l'appareil fera le emploi. – reticent

+1

Sur nos cartes CE 5.0 et 6.0, l'application peut être lancée depuis HKLM \ init (par exemple, Launch120 = "APP-NAME") ou en plaçant un raccourci dans le dossier Démarrage spécifié dans HKLM \ System \ Explorer \ Shell Folders \ Startup . L'une ou l'autre des méthodes fonctionne correctement, mais le lancement via HKLM \ init est plus "immédiat" après la mise sous tension, alors que le démarrage du dossier démarre pendant quelques secondes et que vous voyez le bureau Windows. Cela peut ou peut ne pas être un problème. – AlainD

1

Vous pouvez créer un fichier .cpy. Enregistrez votre application dans le dossier/application de Wince (ou sous-dossier).

Ainsi, dans/dossier de l'application crée un fichier appelé somename.cpy contenant:

\Application\Yoursubfolder\yourapp.exe > \Windows\StartUp\yourapp.exe 

Chaque fois que commence WinCE (de démarrage à chaud ou à froid), il copiera votre application dans le dossier de démarrage de Windows puis démarrer.

Questions connexes