> 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.