David,
 
You could use registerHotKey for the alt-downarrow, but your real problem is
knowing when they've hit something else.  if any other key will terminate
your counting, then you'll need to learn to use the onKey event, and test to
see if it's not alt-downarrow.
 
Chip
 

  _____  

From: David [mailto:[email protected]] 
Sent: Tuesday, April 20, 2010 11:00 AM
To: [email protected]
Subject: Re: Sending Alt-Tab in a script - doesn't work fully, why?


Great, thanks. This made sense, and works nicely.
 
Now, let me just ask one more question, kind of in the same line, which I am
not sure if it is possible, and in case, how to go about. Let's change the
sub lines, a bit. Say that the script would count the numbers of Alt-Down
arrows, that a user pressed, and replace them with Alt-Tab sequences. Guess
I would have to do something like the following:
 
        Speak "You have pressed the hotkey "
  Keyboard.InsertKeyDown VK_Alt
  Keyboard.InsertKeyDown VK_Tab
  Keyboard.InsertKeyUp VK_Tab
        Count = Count +1
        Speak Count & ", "
  Keyboard.InsertKeyUp VK_Alt
        Speak " Times."
 
But, how do I know, if the user pressed the hotkey (Alt-Down arrow), 1, 2,
or 10 times. Is it possible to somehow hook on to the Alt-key, and 'keep
counting', long as the hotkey is repeated? The speech output then would be
like:
 
'You have pressed the hotkey 1, 2, 3, 4, times'
 
Thanks again!
 

----- Original Message ----- 
From: Doug  <mailto:[email protected]> Geoffray 
To: [email protected] 
Sent: Tuesday, April 20, 2010 3:34 PM
Subject: Re: Sending Alt-Tab in a script - doesn't work fully, why?

David,

Jared hit the nail on the head with this one.  But I just wanted to add that
you could use the following method:

Keyboard.InsertKeyDown vk_ALT
Keyboard.InsertKeyDown vk_TAB
Keyboard.InsertKeyUp vk_TAB
Keyboard.InsertKeyDown vk_TAB
Keyboard.InsertKeyUp vk_TAB
Keyboard.InsertKeyUp vk_ALT

This duplicates what you are really doing from the keyboard manually.  That
being holding down the ALT and while keeping it down tapping the TAB twice
and then letting go of ALT.

Regards,
Doug

Jared Wright wrote: 

David, You are not pressing alt+Tab twice to get to document 3. You are
holding alt and pressing tab twice. If you really pressed alt+tab, released
it, you'd be in document 2. When you did it again, the first window it would
take you to is the last one that previously had focus, which was document 1.
Clear as mud?
You might have more success iterating through the children of the desktop
window for this rather than manually sending alt+tab keypresses.

On 4/20/2010 8:18 AM, David wrote: 

One of my scripting projects, has to send a sequence of Alt-Tabs. To best
reproduce my problem, here is what you can try.
 
1. Use Script Framwork, and create a new script
2. When asked to choose a hotkey, try setting it to Alt-Up arrow (this
doesn't affect my probelm, but just to let you try it).
3. After Framework ends, open the script in your editor, and go to the
bottom of it, and make the last Sub read the following:
 
Sub ForwardTab(myKeyId)
 'This routine is called when the hotkey Alt-Down is pressed.
 If Keyboard.KeyDescriberActive Then
  Speak myStrings(myKeyId & "_Description")
 Else
  'Main routine functionality goes here
  Speak "Forward. "
  Keyboard.InsertKey VK_Tab, KmAlt
  Keyboard.InsertKey VK_Tab, KmAlt
 End If
End Sub

 
4. Save your work, and load it in WE.
5. Open three or four documents/windows on your system.
5. Place yourself in Document1, and press the hotkey (alt-down arrow).
6. The script is meant to send two Alt-Tab sequences, which would have put
you into document3.
 
But, here is my problem. What happens, is that the script switches to
document2, then immediately throws you back to Document1. Sitting in
Document1, and manually pressing Alt-Tab twice, I will pass by document2,
and be left in document3. Why won't it work with the script? Due to a timing
issue? Or, is there any other stuff going on? Would I have been better off,
not using the Framework script, to initially create my script. That is, does
the Framework insert any instructions, that could have been omitted here,
and that would affect the behavior?
 
Thanks alot, everyone!

  _____  

I am using the Free version of SPAMfighter <http://www.spamfighter.com/len>
.
We are a community of 7 million users fighting spam.
SPAMfighter has removed 1485 of my spam emails to date.
The Professional version does not have this message.



Reply via email to