Salut Oui, les commande Windows et Scintilla sont différentes. Par exemple, #WM_COPY = 768 #SCI_COPY = 2178
Donc, si JAWS utilise un sendMessage vers un editeur Scintilla il sera ignoré et donc non lut ! Il est alors envisageable de faire un translateur de commande Windows vers SCI car beaucoup sont similaire... Le pure basic ne permet pas d'accéder à des événements de si bas niveaux, si toi tu peux faire ce test cela serait une bonne indication, voire solution, à indiquer aux auteurs de CodeBlock ! Pour AxTK, cela utilise des synthèse vocale par SAPI et autres... Lien direct pour une démo : http://www.anthemion.co.uk/axtk/axtk-basic-sample-win32.zip -----Message d'origine----- De : [email protected] [mailto:[email protected]] De la part de QuentinC Envoyé : mardi 19 janvier 2010 15:43 À : [email protected] Objet : [progliste] Re: CodeBlock > Donc pour que cela soit bien clair pour moi, lorsque l'on accède au objet de Word, Excel, IE, ... C'est que cela a été prévu, autorisé et compatible avec les méthode du COM ? Je ne sais pas si les objets COM ont quelque chose à voir là-dedans (je les connais trop mal). Par contre pour les composants standards de windows, ça a dû être effectivement prévu un moment donné. Il y a les messages standards de windows, mais il y a aussi d'autres standards plus évolués comme MSAA, et d'autres dont je n'ai même pas entendu parler (notamment, comment jaws peut récupérer le DOM des pages web et la structure des documents riches). IL ne faut pas oublier non plus que jaws possède un intercepteur vidéo, c'est un autre moyen d'accèder aux informations. Là par contre, je ne sais absolument pas en quoi ça consiste. > Lorsque l'on envoie un SendMessage, on ne donne que le handle de > l'objet, Mais est-ce que le sendmessage fait un saut ou call sur un pointeur des méthodes de l'objet, ou windows crée un événement dans l'application. Car si le sendmessage crée un événement, l'application pourrait le détourner pour répondre correctement. Par exemple pour une application qui utilise SCINTILLA : 1)J'envoie un sendmessage avec #WM_Copy pour le handle Scintilla 2) L'application convertie le #WM_Copy en #SCI_Copy et l'envoie à l'objet Scintilla Ainsi, Jaws n'y verrais que du feu... Si il utilise bien les commande conventionnelle de Windows ! En principe, un SendMessage donne lieu à un évènement qui doit être traité par la procédure de fenêtre. Donc théoriquement, oui, on peut le détourner. Il faudrait que je fasse un test bidon pour le prouver. Pour le cas que tu cites, le truc c'est que justement, je pense que certains contrôles ne répondent pas correctement aux messages définis par windows. Si l'objet scintilla ne répond pas à WM_COPY, jaws pourra envoyer tous les messages qu'il veut, il ne se passera rien. Pire, il pourrait s'agir d'un autre message dans le vocabulaire de scintilla... et là les réponses seraient inprévisibles. Certaines bibliothèques n'utilisent même pas du tout des handles de windows pour leurs contrôles. Dans ce cas, jaws ne voit rien, ou ne voit pas les choses correctement. Je ne saurais en être certain mais je pense que c'est pour ce genre de raison que QT et les autres ne fonctionnent pas bien. Remarque, c'est exactement ce que font les composants swing de java, et c'est pour cette raison qu'il y a besoin d'un adaptateur en plus (le java access bridge) A ce propos, j'ai testé les applications WXWidget que tu avais envoyé. C'est globalement accessible, il y a juste quelques dysfonctionnenents mineurs dans les listes et combobox, et il y a un des onglets de la démo composant qui ne marche pas du tout, l'onglet notebook, je ne sais pas ce qu'il y a dedans mais ça fait vraiment n'importe quoi. > Je ne sais pas si tu as lut le post, mais le gars m'a indiqué une > librairie intéressante : http://code.google.com/p/axtk/ C'est un toolKit qui permet de sonoriser automatiquement une application utilisant WxWidget. J'ai testé l'example est c'est bluffant ! Tu lance l'appli, puis tu eteinds jaws, et hop l'application parle toute seule ! Dire que j'ai passé des jours et des jours pour faire un procéder similaire en PureBasic... Non, je n'ai pas lu la discussion. Je suis au boulot là. AVant que je n'ouvre le lien : comment ça l'application parle toute seule ? en utilisant quel moyen ? SAPI5? des fichiers son ? autre chose de plus bluffant ? 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é.
