I can only speak for Macro Magic as it was the only one I tested against. Typically these macro thingies install system wide hooks in order to record and playback keystrokes and mouse events. It appeared as if Macro Magic was interfering with the way windows messages were sent. There was a bug in the finder/show me that was highlighted by Macro Magic's affect on the message passing system. In detail: DigiGuide was attempting to draw the progress bar and it had a divide-by-zero crash. It did this because, all things being equal, by the time the divide should have happened the zero should have been non-zero. However, DigiGuide recieved a 'draw' message before it could do anything else. It's my guess that Macro Magic caused the progress bar to be redrawn at a time that DG didn't expect it. Theoretically the same could have happened on a very slow machine but try as I might I couldn't reproduce it. It was *not* a bug in Macro Magic but was a bug in DG that was highlighted thanks to Macro Magic. It might turn out that there is a bug in MM but either way there was also a bug in DG just waiting to happen. I would suggest contacting the vendors of the other software you mention and tell them the above. Once I knew which software was causing the fault to appear it was trivial to find and fix the error. I would expect them to have a similar experience. Actually it might be a good demo of how quickly we fix problems  Note that system wide hooks can adversely affect your system performance and stability, especially if they are poorly written. Any application that installs a system wide hook has a great deal of responsibility. Symptoms of poorly written system wide hooks could be: * General system performance loss. * Random applications crashing and freezing up. Tracking down the offending application can be very tricky indeed. And in case you're wondering; DigiGuide does not install any system wide hooks. If a system wide hook does cause the above problems then in Win2K/XP you can log off and log back on again - no need to restart the system. I don't know of a clean way of detecting system wide hooks. If you have MSVC then you can find out by creating a bog standard application and then running it in the debugger. For example; If you have an MS wheel mouse you might see debug entries like this: Loaded 'C:\Program Files\Microsoft Hardware\Mouse\point32.dll', no matching symbolic information found. Loaded 'C:\Program Files\Microsoft Hardware\Mouse\Msh_zwf.dll', no matching symbolic information found.
System wide hooks can only be in DLLs and the two above allow extra mouse stuff to work. I think that covers every possible angle  This sig intentionally blank. |