> - powerpro gets the hotkey trigger
> - Powerpro checks what current window has focus
> - powerpro verifies the current window focus hasn't changed
> - powerpro sends the eaten key to the window
> 
> I feel that it's between 2 and 3 that there's a validation loop 

Steps 2 and 3 do not exist.  PowerPro just grabs the current active window and 
uses it (there is some special processing if the current window is a powerpro 
dialog).

However, there is one other step between your above 1 and 4:  PowerPro has to 
disable hot key processing so that when it sends the macro hot key, this key is 
reprocessed as a hot key.  If that is not working properly, it could cause 
looping.  So that is where it would seem the problem is.

Hot keys are either intercepted by ppro.dll hook or through use of system 
registerhotkey (although this should not be used for macro keys).

Although it should not matter, can you try reversing the setting of 
Key/Mouse|Setup|Recognize hot key with dos or console window active
to see what that does.  (This affects which hot key technique is used, although 
the code is supposed to make Macro hot keys always use hook dll as a special 
case)




> 
> There are two "classes" of program windows.
> - First class of window keyboard macro works perfectly, and send the 
> eaten key right away
> - Second class of window keyboard macro doesn't get typed (retyped) 
> right away (with latest version it sends after a 2-10 seconds, where 
> before it would hold the eaten key indefinitely until there was window 
> focus changes). 


I thought at one point  before we started experimenting it worked fine most of 
the time.  Is that true?  Or maybe you were only using it on windows then that 
still work fine now.


If I use the mouse to change focus to the first class of 
> window that doesn't have a problem, the macro key will be typed 
> immediately and the looping debug messages stop. While focus is in the 
> notepad window, and the macro key has been hit but hasn't been typed 
> there's a looping debug output.

Is there any obvious difference betweenn the classes of window - eg one is 64 
and one is not.



> -----------------------------
> 
> In the debug output:
> 00928     47  Notepad**Untitled - Notepad 329396 506b4 0 0 Wed Aug 05 
> 09:15:48 2009
> 
> What is the first 47, and what is 506b4 ?


Milliseconds since last debug output, so not significant here.



Reply via email to