[jawsscripts] Re: sendMessage functions all in one place that jaws accepts?

  • From: Soronel Haetir <soronel.haetir@xxxxxxxxx>
  • To: jawsscripts@xxxxxxxxxxxxx
  • Date: Tue, 11 May 2010 07:28:04 -0800

I would think jfw would be willing to send any message you try, after
all they are simply 32 bit numbers.  The hard part is the wParam and
lParam values since they are often pointers to complex structures.
JFW has no means of creating or interpreting such.

On 5/11/10, Geoff Chapman <gch@xxxxxxxxxxxxxxxx> wrote:
> hey martin.
>
> thanks for all this eh.
>
> But, what I'm sure anna is desiring, and what I too and probly all of us
> unfamiliar would find infinitely useful, is there not anyone on list in the
> world at all, who wouldn't have already gone down this path? and who might
> have the repository of these send message codes,and what they do? in
> relation to what jaws accepts and can use?
>
>
> are you saying she has to go study the whole deal from scratch, and then not
> know which ones jaws will pass/accept anywayz? I'm thinking, someone must
> know, surely!
>
>
>
> <smile.>
>
> geoff.From: "Martin Slack" <m.g.slack@xxxxxxxxxxxx>
> To: <jawsscripts@xxxxxxxxxxxxx>
> Sent: Tuesday, May 11, 2010 8:31 AM
> Subject: [jawsscripts] Re: How to
>
>
>> Hi Anna,
>>
>>   The SendMessage function is part of the Windows operating system.
>> Basically, all that windows do is send messages to each other. You can
>> Google for phrases like:
>>
>> Windows SendMessage
>> or
>> windows message constants
>>
>> and prepare for a lot of reading!  The JAWS SendMessage function just
>> encapsulates the windows function, but doesn't allow its full
> functionality
>> to be accessed.
>>
>>   hth
>>
>> Martin
>>
>>
>> ----- Original Message -----
>> From: "Anna Giller" <anna.giller@xxxxxxxxxxxxxxx>
>> To: <jawsscripts@xxxxxxxxxxxxx>
>> Sent: Monday, May 10, 2010 9:26 PM
>> Subject: [jawsscripts] Re: How to
>>
>>
>> Hi Martin!
>> Would you please advise me on where to learn about SendMessage function.
>> Thank you very much,
>> Anna
>>
>>
>> -----Original Message-----
>> From: jawsscripts-bounce@xxxxxxxxxxxxx
>> [mailto:jawsscripts-bounce@xxxxxxxxxxxxx] On Behalf Of Martin Slack
>> Sent: Friday, April 16, 2010 4:25 AM
>> To: JAWSScripts
>> Subject: [jawsscripts] Re: How to
>>
>> Hi Anna,
>>
>>   My first thought was to search the current window contents using
>> FindString then the call JawsPageDown to bring up the next windowful of
> text
>>
>> and so on.  However this was very slow and JawsPageDown doesn't return
>> anything to say when the bottom of the file has been reached.  Both of
> these
>>
>> problems can be worked around by using SendMessage to communicate directly
>> with the window.  Not only is this fast, but an integer is returned which
> is
>>
>> zero when and only when there is no more text to display.
>>
>>   The code below works on my XP machine running JAWS 11.  Note the
> constant
>> definitions which need to be placed outside the script itself.  A similar
>> script could be devised to search backwards, although it's no problem now
> to
>>
>> return to the top of the file and search again.
>>
>>   hth
>>
>> Martin...
>>
>>
>> Const
>>   SB_PAGEUP = 2,
>>   SB_PAGEDOWN = 3,
>>   WM_VSCROLL = 0x0115
>>
>> Script test ()
>> var
>>   int l, int r, int t, int b,
>>   int found,
>>   int scrolling,
>>   handle hwnd
>>
>> ; say something to indicate script key has been pressed
>> SayString ("next ")
>>
>> ; initialise variables
>> let found = 0
>> let scrolling = 1
>> let hwnd = GetFocus ()
>> GetWindowRect (hwnd, l, r, t, b)
>>
>> ; step over any previous find
>> NextWord ()
>>
>> ; search to the bottom of the current window contents
>> let found = FindString (hwnd, "+++", S_NEXT, S_UNRESTRICTED, FALSE)
>>
>> if not found then
>>   ; move PC cursor to top left of window
>>   ; so entire window will be searched from now on
>>   MoveTo (l+8, t+8)
>> endif
>>
>> ; keep paging down until a find occurs
>> While (not found) && (scrolling)
>>   ; ask window to scroll
>>   let scrolling = SendMessage (hwnd, WM_VSCROLL, SB_PAGEDOWN, 0)
>>
>>   ; search the current contents of the window
>>   let found = FindString (hwnd, "+++", S_NEXT, S_UNRESTRICTED, FALSE)
>> endWhile
>>
>> ; note: FindString searches using the Jaws cursor
>> ; find why the loop terminated
>>
>> PCCursor ()
>> if (scrolling > 0) then
>>   ; move the PC cursor to the start of the matching string and speak it
>>   RoutePcToJAWS ()
>>   Pause ()
>>   SayWord ()
>> else
>>   ; move PC cursor to end of file
>>   JAWSBottomOfFile ()
>>   SayString ("end of file")
>> endif
>>
>> EndScript
>>
>> __________
>> Visit and contribute to The JAWS Script Repository http://jawsscripts.com
>>
>> View the list's information and change your settings at
>> //www.freelists.org/list/jawsscripts
>>
>>
>> __________???
>>
>> View the list's information and change your settings at
>> //www.freelists.org/list/jawsscripts
>>
>> __________�
>>
>> View the list's information and change your settings at
>> //www.freelists.org/list/jawsscripts
>>
>
> __________�
>
> View the list's information and change your settings at
> //www.freelists.org/list/jawsscripts
>
>


-- 
Soronel Haetir
soronel.haetir@xxxxxxxxx
__________�

View the list's information and change your settings at 
//www.freelists.org/list/jawsscripts

Other related posts: