Effectivement le JfwAPI retourne seulement l'acquitement de réception de la fonction appelée, Et tu ne peux même pas changer cet acquitement en envoyant une fonction erronée. Reste donc le recours à un fichier temporaire, une clé de registre ou un objet COM mais encore faudrait-il que les scripts les gères.
Menfin, je me demande si tu ne te tortures pas pour rien... Si j'écris un Jeu utilisant ton API, soit je passerais en SleepMode par mes propre scripts associés, soit par un appel de function depuis le programme. Donc en théorie je sais dans quel mode est jaws, certe sans pouvoir le vérifier. Par contre dans l'absolu, si tu veux savoir si JAWS est en slip, ou en caleçon, je ne vois aucun moyen... Puisque par définition tu n'ai pas intervenu dans les scripts en cours, tu ne peux qu'utuliser les RunFunction ou RunScript qui limite grandement les possibilités. A moins que Freedom ai caché une fonction dédié, je ne vois pas trop comment faire. Comme je ne sais si tu as eut mes précédentes remarques, je me permét de les refaires : - Apparament lorsque tu pilote NVDA, tu ne le fais pas brailler. - Il serais souhaitable que le chemin d'accés aux DLL externes se fassent depuis le dossier de ta DLL et non en relatif. - Integrer la gestion de SpeechPlatform car de nombreuse langue gratuite sont fournie. - Coriger la gestion de SAPI Merci pour ton travail -----Message d'origine----- De : [email protected] [mailto:[email protected]] De la part de QuentinC Envoyé : mercredi 22 février 2012 08:56 À : [email protected] Objet : [progliste] Re: ScreenReaderAPI et problème jaws en sleep mode Vous ne connaissez pas le sleep mode ? Ca m'étonne un peu... Quand on active ce mode pour une application particulière, deux choses principales se passent : * Jaws ne parle pas pour cette application, c-à-d tant qu'on est dedans jaws ne lit rien du tout * L'intercepteur de clavier est désactivé, c-à-d tant qu'on est dans l'application, les touches fonctionnent normalement et ne sont pas interceptés par les pilotes de jaws Cette deuxième propriété rend ce mode très utile notamment pour les jeux, où il n'est pas rare que les touches fléchés ou d'autres touches clés ne fonctionnent pas correctement si jaws est réellement actif. Si vous avez déjà joué à quelques jeux audio, vous avez sûrement déjà rencontré ce problème. Mon ScreenReaderAPI.dll étant destiné à tout types d'applications et en particulier les jeux, ce serait bien de trouver une solution à ce problème. Au fait, ScreenReaderAPI.dll est déjà utilisé dans plusieurs jeux: deux miens: le salon et greenies escape, mais aussi celui d'un autre développeur maintenant: SoundRTS. Heureusement, aucun de ces jeux ne nécéssite la désactivation de jaws, mais je vois déjà le problème venir avec d'autres applications. J'ai remarqué que, bien que jaws soit muet et qu'aucun script ne puisse être déclenché par des raccourcis clavier normaux, il est toutefois possible de lancer un script ou une fonction via l'API FS. Test effectué avec la fonction beep, en l'occurence. Vous pouvez tester en utilisant les fonctions jfwRunScript et jfwRunFunction de ScreenReaderAPI.dll si vous ne voulez pas utiliser l'API FS en COM/automation directement. J'aurais voulu trouver un moyen me permettant de savoir, dans ma DLL, si jaws est en sleep mode ou pas. Le principal problème à contourner en plus d'utiliser des fonctions jaws pour y parvenir, c'est que les valeurs de retour ne sont pas transmises à l'applant C/C++ et que puisque ça correspond à une sorte de fonction eval, impossible de passer des objets par référence. Donc challenge supplémentaire, il faut que ce soit un one-liner. Progliste : Pour se désinscrire de la liste : mailto:[email protected]?subject=unsubscribe Pour voir les archives de la liste : http://www.mail-archive.com/[email protected]/ Pour accéder aux fichiers de la liste http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je vous répondrez en privé. Progliste : Pour se désinscrire de la liste : mailto:[email protected]?subject=unsubscribe Pour voir les archives de la liste : http://www.mail-archive.com/[email protected]/ Pour accéder aux fichiers de la liste http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je vous répondrez en privé.
