|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
Débuté par Deg, 21 déc. 2005 17:01 - 4 réponses |
| |
| | | |
|
| |
Posté le 21 décembre 2005 - 17:01 |
Bonjour,
Je cherche à trouver un moyen assez fiable de savoir si une application est lancée sur un Pocket PC connecté au PC. (l'application est une extension d'un logiciel PC permettant de faire des saisies qui sont synchronisées ensuite sur l'appli PC).
Après recherche dans les API je ne crois pas avoir trouvé mon bonheur pour pouvoir détecté si une appli est lancée sur le Pocket via le PC ? Si y'a, ben c'est pile ce qu'il me faut
Sinon, j'ai quelques pistes mais toutes ont plus ou moins des petits défaut : 1- écrire dans le registre du Pocket à chaque ouverture/fermeture de l'appli l'état ON/OFF... C'est le plus simple bien sûr mais petit manque de fiabilité en cas de plantage du Pocket ou de l'appli qui se retrouve en "ON" alors que c'est pas le cas...
2- à la place de stocker ON/OFF, stocker un handle de fenêtre dans le registre et testé sur le PC via un ceFenTitre par exemple plus gestion d'exception que le handle lu dans le registre du pocket existe toujours bien... Cette solution m'avait séduit au début, mais il peut arriver à l'initilisation du projet que la fenêtre principale soit "court-circuité" pour aller sur d'autres fenêtre ... Vu que j'envisageais d'ajouter un contrôle sur le titre de la fenêtre renvoyé, ça complique un peu les choses et devient moins fiable car à gérer à plusieurs endroits dans l'appli...
3- ouvrir un fic qui ne servirait qu'à ça et tenter de le supprimer via le PC, quand l'appli l'utilise ça bloque et la suppression est impossible... Problème, il faut être sûr qu'il n'y a pas un petit herme("*") qui traine... [ce qui en l'occurence est le cas, et a une utilité]
4- ouvrir un fichier "appli.pid" via un fouvre() et ne le fermer qu'à la fin de l'appli... en cas de plantage, il est libéré... cette solution est pour l'instant celle qui me va le plus à part que ça fait conservé un fichier ouvert pendant toute l'exécution de l'appli, ça me parait pas trop mal (même si ça fait un peu bricol' !)...
Voilà... Si vous avez une piste plus fiable et "élégante", je suis preneur )
merci
-- Deg ôter le caractère superflu avant l'arobase de mon adresse si vous souhaitez m'écrire en privé. |
| |
| |
| | | |
|
| | |
| |
Posté le 22 décembre 2005 - 15:20 |
Bonjour, Si le PC et le PocketPc peuvent communiquer via le réseau, les sockets sont une solution. L'appli PocketPC ouvre un socket, et l'appli PC tente de s'y connecter: Réussite => l'appli est lancée Echec => l'appli n'est pas lancée
Frédéric. |
| |
| |
| | | |
|
| | |
| |
Posté le 23 décembre 2005 - 15:13 |
Via une appli Windev, tu peux facilement récupérer la liste des applications en cours d'execution sur un PocketPC connecté au poste en cours. Ensuite, depuis cette liste, tu peux rechercher le programme que tu souhaites "tracer".
Exemple Simplifié (Poste Local) :
// Connexion au PocketPC ceConnecte()
// Énumération des fenêtres ouvertes (= prog en cours d'execution) ResHandle est un entier = ceFenEnumère () // Parcours de toutes les fenêtres TANTQUE ResHandle <> Null // Ajout du titre de la fenêtre trouvée dans une liste ListeAjoute(ceFenTitre(ResHandle)) // Passage à la fenêtre suivante ResHandle = ceFenEnumère (ResHandle) FIN
JulianO |
| |
| |
| | | |
|
| | |
| |
Posté le 23 décembre 2005 - 16:53 |
Le 23 Dec 2005 14:13:32 +0100, JulianO a écrit :
Via une appli Windev, tu peux facilement récupérer la liste des applications en cours d'execution sur un PocketPC connecté au poste en cours. Ensuite, depuis cette liste, tu peux rechercher le programme que tu souhaites "tracer".
Exemple Simplifié (Poste Local) :
// Connexion au PocketPC ceConnecte()
// Énumération des fenêtres ouvertes (= prog en cours d'execution) ResHandle est un entier = ceFenEnumère () // Parcours de toutes les fenêtres TANTQUE ResHandle <> Null // Ajout du titre de la fenêtre trouvée dans une liste ListeAjoute(ceFenTitre(ResHandle)) // Passage à la fenêtre suivante ResHandle = ceFenEnumère (ResHandle) FIN
ah oui c'est vrai, que j'avais oublié de préciser que j'avais exploré cette possibilité. Qui présente quelques défaut: 1- un petit peu lente d'exécution 2- liste les noms des fenêtres et il faut être certain que les noms de fenêtre ne seront pas modifiés (genre dynamiquement pour ajuster les infos en fonction du contexte).
En tout cas, merci.
Joyeuses fêtes
-- Deg ôter le caractère superflu avant l'arobase de mon adresse si vous souhaitez m'écrire en privé. |
| |
| |
| | | |
|
| | |
| |
Posté le 23 décembre 2005 - 16:53 |
Le 22 Dec 2005 14:20:20 +0100, Frédéric DEMILLY a écrit :
Bonjour, Si le PC et le PocketPc peuvent communiquer via le réseau,
a priori non, on laisse la possibilité de se connecté via l'usb simplement pour syncrhoniser via des "ceFonction"
De plus, je pense que cette possibilité aurait présenté l'inconvénient de ne pas détecté une appli pocket lancée avant d'être sur le réseau ? (car le pocket sert dans notre cas à faire des saisies très éloignées du poste PC serveur, et non pas dans un même local par exemple...)
Merci.
J'ai finit par mettre en place ce petit système de fichier ouvert en début de projet, et pour l'instant ça me donne satisfaction... Bon si y'a mieux je suis toujours preneur, mais c'est pas mal pour l'instant
bonne fêtes...
-- Deg ôter le caractère superflu avant l'arobase de mon adresse si vous souhaitez m'écrire en privé. |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|