> Yes, looping behavior is shown if delays happen with programs.

OK, for some reason the disabling of hot keys gets delayed and PowerPro goes 
into a loop until it takes effect.  Some kind of race condition in Windows? 

All that is happening in my code is that powerpro.exe is making a call to 
ppro.dll telling ppro.dll to set an internal flag to stop hot key processing.   
The trick is that ppro.dll is a 32 bit dll mapped into all processes addresses 
spaces (because it has global hooks); further, the flag is in some static data 
which is shared among all instances conceptually.  How this is physically 
implemented when the hooked process is 64 bit I don't know (I'll do some 
googling on this), but I suspect it is related to the issue.

The latest exe I uploaded has a sleep delay just after the call to set the 
global flag in ppro.dll to disable hot keys; I don't know if that will help or 
not.

Note that I only added this delay macro key send; if it helps, I will added for 
keys command as well.


> With the current .exe:
> If the command is:
> 
> *Keys abc`123
> *Keys `abc123
> *Keys abc123`
> 
> it types fine
> 
> If the command is:
> *Keys `
> 
> then it has the delayed output.

How very strange.  PowerPro is doing nothing different in this case afaik.  A 
couple things to test if you have some spare moments:

keys ``
keys `a
keys a`
keys {sinp}`

Some other character like = instead of ` in above tests.



>
> delay...and notepad have a much shorter delay (2-7 seconds)
> 
> Macro2 works perfectly everywhere, with all previous tests (including 
> above)! :) All the debug loops are gone as well.
> 
> I'll let you know if I find it not working somewhere else.


Note that if macro2 works for most program, and macro works for the others, you 
should be able to use to target field on the hotkey command to use a 
macro2 <your commandlist>
with some cases and a 
macro <your command list>
with the others.



Reply via email to