Hi, This idea is kind of clunky, but it might work. 1. Get this file. http://www.empowermentzone.com/kitsetup.exe and install it. 2. Create your own version of IsSpeaking that creates a file, even if it has just one byte in it when it's successful, and if not, it erases the file. 3. If the file exists, the function was run successfully. Jim Jim Homme, Usability Services, Phone: 412-544-1810 Skype: jim.homme Internal recipients, Read my accessibility blog<http://mysites.highmark.com/personal/lidikki/Blog/default.aspx> From: programmingblind-bounce@xxxxxxxxxxxxx [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Andrew Hauck Sent: Monday, February 22, 2010 1:27 PM To: programmingblind@xxxxxxxxxxxxx Subject: Re: Jaws Speech Detection Hello, I've been unable to locate an IsSpeaking type function using COM. Currently I'm calling JAWS functions from a c++ .dll via COM. I've resorted to the RunFunction and RunScript COM functions to use the SpeechInUse() function within the FSDN. The problem with this approach is that the return value of the COM function is based on whether the JAWS script or function was scheduled on the execution queue, and not whether SpeechInUse() returns true or false. I've thought about using the IniWriteIntegerEx function to write the SpeechInUse() result to a file, but have ran into problems using this function, mostly because the documentation is a bit confusing. The first first three parameters seem to make sense, but the fourth one doesn't make sense to me. It takes in an integer value but determines the directory where the file is located? I was wondering if anyone has used this function before or if they had better suggestions for detecting whether JAWS was speaking or not.. Below is an example of some code that Utilizes COM to invoke the JAWS run function. bool JawsInterface::RunFunction(const wchar_t* Function) { function_r = jawsServer.Invoke1(_bstr_t("RunFunction"),&_variant_t(Function), &vResult); ________________________________ This e-mail and any attachments to it are confidential and are intended solely for use of the individual or entity to whom they are addressed. If you have received this e-mail in error, please notify the sender immediately and then delete it. If you are not the intended recipient, you must not keep, use, disclose, copy or distribute this e-mail without the author's prior permission. The views expressed in this e-mail message do not necessarily represent the views of Highmark Inc., its subsidiaries, or affiliates.