It has been verified that the application records macros correctly, however,
the playback process has timing issues. It appears that Vista is not
respecting the millisecond times returned by the playback hook function when
they are anything greater than zero. On XP the system waits the to withing 1
or 2 milliseconds when the playback function returns a value on a call with
nCode set to HC_SKIP. On Vista the wait can be off by more than a full
second. This has the net effect of having the macro playback appear to
freeze for protracted periods and then race to catch up.
Since the application works flawlessly on all other 32 bit versions of
Windows and other macro records seem to have the same problem on Vista, it
appears to be a Vista bug. Is this the case?
I originally used WH_JOURNALPLAYBACK to write a little program for my wife.
So after seeing your issue, I find back that little application and run it
on Vista(although I can not find the original source code now). Yes, I can
reproduce the strange timing issue.
I will give this issue a research and reply to you ASAP. Thanks.
Best regards,
Jeffrey Tan
Microsoft Online Community Support
==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.
Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscriptions/support/default.aspx.
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.
I have forwarded this issue to the dev team for consulting, but I still did
not get any response yet. I will feedback any progress here ASAP. Thanks
for your patient.
I've seen the same issue on Vista. A "hack" solution is to always
return zero for the delay, but sleep in the callback function for the
required time before returning (only when nCode == HC_GETNEXT). This
seems to work exactly the same as returning the delay value inside the
struct on XP, although I'm sure there are subtle differences that I'm
unaware of.
- Angus
Sorry, I have tried to contact the Windows dev team for 3 times, however,
still did not get any response.
Since this issue really looks like a Vista bug, I recommend you contact
Microsoft PSS case support. The PSS engineer may help you to submit a bug
RFC to the dev team through the official channel.
You can contact Microsoft Product Support by contacting us at
1-(800)936-5800 or by choosing one of the options listed at
http://www.microsoft.com/services/microsoftservices/supp.mspx
Thanks for your understanding.
@@ Ed @@
After serious thinking Jeffrey Tan[MSFT] wrote :